9 asp.net validation asp.net-mvc asp.net-mvc-3 asp.net-mvc-4
我有以下设置 web.config:
<appSettings>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)
我没有使用任何客户端验证.
我应该设置这些false
还是可以删除这两个条目?
ps2*_*oat 11
如果您不想要它,请将其设置为false.这样你甚至不必猜测以后默认是什么,项目中的其他人可以立即看到关闭它是你的意图.
同时从bundleconfig中删除客户端验证,以防止用户进行不必要的下载.
有两种不同的设置Web.config
是耦合的,但不是同义词.
<add key="ClientValidationEnabled" value="false"/>
Run Code Online (Sandbox Code Playgroud)
确定是否启用了客户端验证.如果该值设置为false,则模型注释(required, min, max
等)将不会创建客户端属性或行为.
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
Run Code Online (Sandbox Code Playgroud)
确定ASP.NET是否将JQuery用于客户端异步任务或原始JavaScript.
如果UnobtrusiveJavaScriptEnabled=false
,您的客户端验证仍然有效,但将使用Raw JavaScript而不是JQuery.
使用JQuery而不是JavaScript有什么意义?
有些环境选择不使用JQuery.他们有大量定制的UI框架.JQuery可能已经以自定义方式使用.或者可以使用不同的JS库进行所有异步增强
使用原始JavaScript有什么不利之处?
没有JQuery(UnobtrusiveJavaScriptEnabled),您的Ajax助手将无法工作.
原始的JavaScript很乱,用很多东西填满你的标记.JQuery创建更轻松,更清晰的标记.(" 更轻的ajax属性 " 的优点)
您的原始Javascript将不那么健壮,可能效率较低.请记住,ASP.NET JavaScript库在3年内没有发展(早在MVC 3发布之前).
结论:
如果要禁用客户端验证,请设置
<add key="ClientValidationEnabled" value="false"/>
Run Code Online (Sandbox Code Playgroud)
但我建议你离开ClientValidationEnabled
去true
.如果不使用验证注释装饰模型,框架将不会呈现验证属性.最好保持选项打开,并决定每个View/ViewModel使用客户端验证的位置.
我建议不要禁用UnobtrusiveJavaScriptEnabled.ASP.NET MVC框架使用JQuery有太多微妙的方法.这不会禁用客户端验证.
重要说明:请勿删除任何条目.如果要禁用一个,只需将其设置为false
.通过删除任一条目,您将自己置于框架的默认行为(可能随时间变化)的左右.
归档时间: |
|
查看次数: |
1935 次 |
最近记录: |