【问题标题】:Client side validation on ASP.NET MVCASP.NET MVC 上的客户端验证
【发布时间】:2021-01-31 13:16:03
【问题描述】:

我想防止多次点击提交按钮。 我设法通过单击提交按钮时冻结屏幕来做到这一点。 唯一的问题是客户端验证。 当必填字段为空时,屏幕被冻结,我无法在此页面中执行任何其他操作。 我正在尝试检查表单的验证,但它看起来不起作用。 我得到那个表格一直有效。

<script type="text/javascript">
    $('#AddBtn').click(function () {
        if ($("form").valid()) {
            $('body').append('<div id="over" style="position: absolute;top:0;left:0;width: 100%;height:100%;z-index:2;opacity:0.4;filter: alpha(opacity = 50)"></div>');

        } else {
            window.alert('NOT VALID');
        }
    });
</script>

这是具有验证的字段之一:

<div class="form-group row">
    <div class="col-4">
        <label asp-for="Orders.CustZipCode">Zip Code</label>
    </div>
    <div class="col-8">
        <input asp-for="Orders.CustZipCode" class="form-control" />
        <span asp-validation-for="Orders.CustZipCode" class="text-danger"></span>
    </div>
</div>

【问题讨论】:

    标签: javascript asp.net asp.net-mvc


    【解决方案1】:

    这可能不是您想要的,但我倾向于在成功提交后用微调器替换表单元素。话虽如此,我正在使用 Ajax.BeginForm 进行 ajax 调用,这似乎是一个非常简单的解决方案。这 a) 将表单从视图中移除,这样用户在提交表单后就不会再搞砸了;b) 微调器让他们感觉应用程序正忙于对他们提交的数据进行有意义的处理。

    我想我有一个问题 - 成功提交后你会将用户带到哪里 - 你会将他们带到新视图还是表单保留在屏幕上?

    【讨论】:

    • Hi Yan,成功后会有一个甜蜜的提示,当按下 swal 消息中的按钮时,它会重定向回订单屏幕
    • 您使用什么进行客户端验证?我假设 jquery 验证插件。我想我们需要研究为什么验证器认为表单是有效的 - 你看到了吗 - stackoverflow.com/questions/17881726/…
    猜你喜欢
    • 2010-09-14
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 2011-02-08
    相关资源
    最近更新 更多