【发布时间】:2015-01-05 15:01:54
【问题描述】:
我想了解如何在 asp.net mvc 中为潜在危险的 request.form 实现客户端验证。
我不想在这种情况下设置[ValidateInput(false)],并且向用户显示此错误消息页面对用户不友好。类似于[Required] 属性对客户端验证所做的事情。
我假设有一个内置函数,因为这对我来说似乎是一个常见问题,但我似乎无法找到它。
【问题讨论】:
-
客户端验证需要客户端代码。我建议使用 jQuery 和 jQuery Validate 插件:jqueryvalidation.org
-
我知道那里有大量可用的 javascript 客户端验证,但我在这里面临的问题不是重新发明轮子来重写可能与 asp.net mvc 匹配的验证规则危险的 request.form,既不限制输入只允许字母数字
-
为此讨论客户端验证等价物并没有什么意义,因为这超出了简单的表单验证。请求 URL、cookie 等也通过 ASP.NET 请求验证进行验证,因此您可能必须实现自己的 JavaScript 挂钩到每个表单帖子并在发送之前验证整个 HTTP 请求。你确定这真的是你需要做的吗?请求验证是一种安全功能,而不是可用性功能,因此请求验证失败应该被视为异常而不是表单验证错误。
-
您可能过度使用了解决方案 - 您能否具体概述您要解决的问题 - 即您希望在无害请求中验证哪些值集以及提交的位置和方式?
标签: javascript asp.net-mvc asp.net-mvc-4 unobtrusive-validation