我想用正则表达式验证器截获form字段中的“<”字符。我将分3个步骤描述问题:
步骤1 :当我尝试提交带有包含“<”字符的字段的表单时,我收到了“潜在危险的请求...”-与ASP.NET中预期的一样。
步骤2 :为了避免ASP.NET的RequestValidation,我在 Controller 中使用“[ValidateInput(false)]”修饰了我的Update方法。
它可以按预期工作-现在我可以发布“<”字符了,没有错误。
步骤3 :我将xVal与DataAnnotations一起使用。例如,[Required]或[StringLength(255)]可以按预期工作。
当我使用但:
[RegularExpression (“^ [^ <>] * $”,ErrorMessage =“不允许使用特殊字符。”)],我再次收到的“潜在危险请求...”错误,尽管[ValidateInput(false )]指令。
发生了什么?有没有更简单的方法来进行正则表达式验证,但是使用了[ValidateInput(false)]?当然,我想将验证代码存储在模型中,而不是在 Controller 中。
最佳答案
No, it was an issue in MVC 1 + xVal. In MVC 2 the validation works as supposed (and there's no need for xVal anymore) – Alex42
看起来该机器人不断将其推向更高的位置。您能否将答案标记为已接受,以便知道?
关于asp.net-mvc - ASP.NET MVC ValidateInput(false)停止使用xMl和[正则表达式] DataAnnotation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1038102/