Omu*_*Omu 2 asp.net-mvc jquery jquery-validate unobtrusive-validation
使用版本1.7一切正常,所有隐藏的输入都得到验证,
但是版本1.9有些做,有些不用
我使用asp.net mvc 3和jquery.validate + jquery.unobtrusive(jquery 1.7.1)
这是生成的html:
<!--this gets validated-->
<input type="hidden" data-val="true" data-val-number="The field Chef must be a number." data-val-required="The Chef field is required." value="" name="Chef" id="Chef">
<span data-valmsg-replace="true" data-valmsg-for="Chef" class="field-validation-valid"></span>
<!--this one is ignored-->
<input type="hidden" data-val="true" data-val-number="The field MyFruit must be a number." data-val-required="The MyFruit field is required." value="" name="MyFruit" id="MyFruit">
<span data-valmsg-replace="true" data-valmsg-for="MyFruit" class="field-validation-valid"></span>
Run Code Online (Sandbox Code Playgroud)
谁知道为什么会发生这种情况?
使用1.9版本验证插件默认忽略:hidden元素.
另一个更改应该使隐藏元素的表单设置更容易,默认情况下现在忽略这些更改(选项"ignore"现在默认为":hidden").从理论上讲,这可能会打破现有的设置.在实际情况不太可能的情况下,您可以通过将ignore-option设置为"[]"(没有引号的方括号)来修复它.
因为您使用的是不显眼的版本,所以无法设置任何选项.所以你不要自己初始化插件,因此你必须在初始化之后改变它的设置.你可以像这样解决它:
var validatorSettings = $.data($('form')[0], 'validator').settings;
validatorSettings.ignore = "";
Run Code Online (Sandbox Code Playgroud)
此代码适用form于标记中的第一个元素,您可以指定表单并更改默认行为.
| 归档时间: |
|
| 查看次数: |
3637 次 |
| 最近记录: |