Asp.net MVC 5模型验证正则表达式未验证特殊字符
我已经使用了ASP.NETMVC5,对于验证,我使用了常规的Jquery非干扰性验证库。 目前我面临一个问题,正则表达式验证在客户端可以正常工作,但在服务器端无法验证值Asp.net MVC 5模型验证正则表达式未验证特殊字符,asp.net,regex,asp.net-mvc,validation,Asp.net,Regex,Asp.net Mvc,Validation,我已经使用了ASP.NETMVC5,对于验证,我使用了常规的Jquery非干扰性验证库。 目前我面临一个问题,正则表达式验证在客户端可以正常工作,但在服务器端无法验证值 [RegularExpression(@"^[0-9]{19}$", ErrorMessage = "Invalid Value")] public string Value{ get; set; } 这是验证19位数字的简单正则表达式。它在客户端工作正常,现在允许'或-或任何东西传递,但如果我直接提交到服务器,则模型不会
[RegularExpression(@"^[0-9]{19}$", ErrorMessage = "Invalid Value")]
public string Value{ get; set; }
这是验证19位数字的简单正则表达式。它在客户端工作正常,现在允许'
或-
或任何东西传递,但如果我直接提交到服务器,则模型不会被验证。
我需要做一些特殊的事情吗?当您通过post/get/put/delete请求发送数据时,如果您正在手动创建一个带有验证类的类,而这些数据/验证注释不适用的地方,则会发生ModelBinding(将post/get值映射到复杂模型的过程)
您可以手动验证模型-
这就是说,有一个名为的库,它可以强制执行这些规则,即使您在MVC()之外创建自定义对象/模型,如果它不进行验证,就会抛出异常。请记住,此库是付费的,但它有可能适合您需要的免费版本。您是否调用Model.IsValid?当模型绑定时会发生什么?有例外吗?向我们展示其他帮助。了解ModelState.IsValid如何没有返回错误。