0

我注意到在登录视图中,当用户输入他们的电子邮件地址并快速切换到密码字段时,MVC3 所需的属性验证会触发。我拥有的代码非常大,但我已经能够用一个非常简单的页面来重现它。它类似于以下内容:

我有一个非常基本的视图,附有模型。该模型有 2 个属性,这两个属性都具有 [Required] 属性。如果您聚焦一个,并按下任何不输入任何字符的键(例如,Shift、Esc 等),所需的验证就会触发,并且我会收到错误消息,指出该字段是必需的,即使我没有输入什么都没有。

有谁知道如何防止这种早期验证被触发?

4

2 回答 2

0

所以我所做的是我使用以下代码禁用了这些输入字段的 keyup 事件:

<script type="text/javascript">
    $(document).ready( function() {
        $("input[data-val-required]").keyup(function () {
            return false;
        });
    });
</script>

这允许客户端验证仅在用户点击提交按钮时关闭

于 2013-01-09T16:57:55.030 回答
0

同意 gdordon - 禁用/修复任何 jquery 验证。此外,您可以通过禁用 Unobtrusive Validation(在 web.config 中)来禁用此行为 - 这通常启用并使用 jquery 进行客户端验证。

于 2013-01-09T02:21:17.340 回答