【发布时间】:2021-01-03 09:35:42
【问题描述】:
我已经构建了一个客户端自定义验证规则,该规则使用不显眼的验证来工作,如下所示。
$(function () {
$.validator.addMethod('custom', function (value, element, params) {
return (value == 47);
});
var input = $("#myField");
input.rules("add", {
custom: true,
messages: {
custom: "The value must be 47"
}
});
});
<input name="myField" id="myField" type="number" value="">
<span class="field-validation-valid text-danger" data-valmsg-replace="true" data-valmsg-for="myField"></span>
但是,我随后尝试改进代码,以便通过执行以下操作使其真正“不引人注目”:
$(function () {
$.validator.addMethod('custom', function (value, element, params) {
return (value == 47);
});
$.validator.unobtrusive.adapters.addBool('custom');
});
<input name="myField" id="myField" type="number" value="" data-val-custom="The value must be 47" data-val="true">
<span class="field-validation-valid text-danger" data-valmsg-replace="true" data-valmsg-for="myField"></span>
但是 addBool() 方法似乎不起作用并且不会产生错误。我错过了什么?提前谢谢你。
【问题讨论】:
标签: jquery asp.net-mvc unobtrusive-validation