【问题标题】:Hitting a non-character key in an MVC3 required field fires validation?在 MVC3 必填字段中点击非字符键会触发验证?
【发布时间】:2013-01-08 20:03:24
【问题描述】:

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

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

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

【问题讨论】:

  • 嗯...这不是 MVC,它是 jquery 验证插件。
  • 是的,我完全是那个意思,不知道为什么我说 MVC 验证。

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


【解决方案1】:

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

【讨论】:

  • 我仍然想要客户端验证,它只是早期验证,我需要在遇到随机字符时不验证
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    • 2019-07-09
    • 2013-08-05
    相关资源
    最近更新 更多