MVC4验证说明

时间:2013-05-06 12:50:58

标签: validation asp.net-mvc-4 unobtrusive-validation

以下是XBox帐户详细信息网页中的图片。

An input box from the XBox website

请注意,在文本框下面有一个额外的指令“Max Length 21 characters”。条目有效时会显示此信息。当条目无效时,此文本将被验证消息替换。

我可以通过检查与输入框关联的验证范围中的'field-validation-valid'类来测试控件。

但什么时候这样做?

如果我处理文本框的 keydown 事件,我会在验证完成之前获得该事件。所以我的显示器在后面按了一键。

如果我处理已更改的事件,则仅在焦点丢失时触发,而在每次按键时都会进行验证。

我有什么想法可以在MVC4中做到这一点? jQuery不引人注目的验证似乎是一个封闭的框。

谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 将这些密钥添加到web.config。
  2. <appSettings>
            <add key="ClientValidationEnabled" value="true" />
            <add key="UnobtrusiveJavaScriptEnabled" value="true" />
        </appSettings>
    

    然后在布局页面中包含这些文件(甚至包括BundleCollection中的那些路径)

    <script src="../../Scripts/jquery.validate.js" type="text/javascript"></script>
    
    <script src="../../Scripts/jquery.validate.unobtrusive.js" type="text/javascript"> </script>
    

    确保您使用数据注释修饰了模型,例如:

    public class someClass
    {
       [Required]
       [StringLength(40)]
       public string username{get;set;}
    }