asp.net-mvc - ASP.NET MVC ValidateInput(false)停止使用xMl和[正则表达式] DataAnnotation

标签 asp.net-mvc validation data-annotations xval

我想用正则表达式验证器截获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/

相关文章:

javascript - 在 ASP.NET MVC 中以编程方式禁用 jQuery 客户端验证

jquery 表单验证

data-annotations - ASP.NET Core Web API 中整数值的自定义模型验证器

.net - “System.ComponentModel.DataAnnotations.dll”可用于 Android 和 iOS 吗?

c# - Razor View 上的 If 语句(对于 CSS 类)

.net - asp.net mvc 和 css : Having menu tab stay highlighted on selection

c# - Asp.Net MVC 5 路由未命中 Controller ,而 RouteDebugger 在路由上表示为真且未命中断点

java - 错误地解析日期

model-view-controller - 使用 MVC DataAnnotations 和 MetaDataType 的多个接口(interface)

c# - 在 MVC 中存储/调用重复代码块