在MVC3必需字段中命中非字符键会触发验证吗?

时间:2013-01-08 20:03:25

标签: asp.net-mvc-3 validation model asp.net-mvc-validation

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

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

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

时关闭