相关疑难解决方法(0)

为什么ValidateInput(False)不起作用?

我正在使用vb.net将我使用webforms创建的应用程序转换为asp.net mvc框架.我的一个观点有问题.当我提交表单时,我得到了死亡的黄色屏幕,上面写着"从客户端检测到有潜在危险的Request.Form值".我使用tinymce作为我的RTE.我已经设定了视图本身

ValidateRequest = "假"

我知道在MVC中,从我到目前为止所阅读的内容来看,它并不尊重它.所以我也把它放在控制器动作上.我尝试过不同的设置:

<ValidateInput(False), AcceptVerbs(HttpVerbs.Post)> _
Run Code Online (Sandbox Code Playgroud)

...和...

<AcceptVerbs(HttpVerbs.Post), ValidateInput(False)> _
Run Code Online (Sandbox Code Playgroud)

......还有这样......

<ValidateInput(False)> _
<AcceptVerbs(HttpVerbs.Post)> _
Run Code Online (Sandbox Code Playgroud)

只是为了看看它是否有所作为,但我仍然得到死亡的黄色屏幕.我只想为此视图设置它以及我的帖子所属的控制器中的特定操作.我错过了什么吗?

vb.net asp.net-mvc tinymce request.form

34
推荐指数
2
解决办法
4万
查看次数

ASP.NET MVC ValidateInput(false)停止使用xVal和[RegularExpression] DataAnnotation

我想通过正则表达式验证器截取表单字段中的"<"字符.我将分三个步骤描述问题:

第1步:当我尝试提交一个包含"<"字符的字段的表单时,我得到了"潜在危险请求..." - 正如ASP.NET中预期的那样.

第2步:为了避免ASP.NET的RequestValidation,我使用"[ValidateInput(false)]"在控制器中修饰我的Update方法.

它按预期工作 - 现在我可以毫无错误地发布"<"字符.

第3步:我将xVal与DataAnnotations一起使用.例如,[Required]或[StringLength(255)]按预期工作.

但是当我使用时:[RegularExpression("^ [^ <>]*$",ErrorMessage ="不允许使用特殊字符.")],我再次收到"潜在的dangeros请求..."错误,尽管[ValidateInput] (假)]指令.

发生了什么?有没有更简单的正则表达式验证方法,但是[ValidateInput(false)]到位了吗?当然,我想在模型中使用验证码,而不是在控制器中.

validation asp.net-mvc xval data-annotations

20
推荐指数
1
解决办法
2570
查看次数