ASP.NET MVC 上的客户端验证

时间:2021-01-31 13:16:03

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

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

<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>

enter image description here

1 个答案:

答案 0 :(得分:0)

这可能不是您正在寻找的,但我倾向于在成功提交后用微调器替换表单元素。话虽如此,我正在使用 Ajax.BeginForm 进行 ajax 调用,这似乎是一个非常直接的解决方案。这 a) 从视图中删除表单,这样用户在提交表单后就不能再弄乱它,b) 微调器让他们感觉应用程序正忙于处理他们提交的数据。

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

相关问题