Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net MVC 5模型验证正则表达式未验证特殊字符_Asp.net_Regex_Asp.net Mvc_Validation - Fatal编程技术网

Asp.net MVC 5模型验证正则表达式未验证特殊字符

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位数字的简单正则表达式。它在客户端工作正常,现在允许'或-或任何东西传递,但如果我直接提交到服务器,则模型不会

我已经使用了ASP.NETMVC5,对于验证,我使用了常规的Jquery非干扰性验证库。 目前我面临一个问题,正则表达式验证在客户端可以正常工作,但在服务器端无法验证值

 [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如何没有返回错误。