Javascript 验证剑道中的所有或无文本字段&;动态删除消息
对于下面的代码,如果用户输入address/city/state/zip字段,它会在4个必填字段中查找空字段。然后它循环检查其中是否有空的。如果所有4个都为空,则验证通过。如果它们都包含数据,那么它应该通过。它应该失败的唯一时间是其中1-3个为空Javascript 验证剑道中的所有或无文本字段&;动态删除消息,javascript,jquery,kendo-ui,Javascript,Jquery,Kendo Ui,对于下面的代码,如果用户输入address/city/state/zip字段,它会在4个必填字段中查找空字段。然后它循环检查其中是否有空的。如果所有4个都为空,则验证通过。如果它们都包含数据,那么它应该通过。它应该失败的唯一时间是其中1-3个为空 var validator = $("#AddressInfoForm").kendoValidator( { rules: { PayeeRequired: function (input) {
var validator = $("#AddressInfoForm").kendoValidator(
{
rules: {
PayeeRequired: function (input) {
if (input.is("[name=Address]") || input.is("[name=City]") || input.is("[name=State]") || input.is("[name=Zip]")) {
var fieldsBlank = 0;
var requiredFields = ["Address", "City", "State", "Zip"];
for (var i = 0; i < requiredFields.length; i++) {
var val = $('#' + requiredFields[i]);
if (val.val() == "") {
fieldsBlank += 1;
}
}
if (fieldsBlank > 0 && fieldsBlank < 4 && input.val() == "")
input.addClass("inputfields-validation-error");
fieldsBlank = 0;
return false;
}
input.removeClass("inputfields-validation-error");
return true;
}
}
},
}
).data("kendoValidator");
似乎工作我想要的;但是,validator.validate()会为表单中的所有其他字段设置验证错误。我只希望对地址、城市、州和邮政编码这4个字段进行验证。有什么想法吗
$("#Address, #City, #State, #Zip").on("change", function () {
validator.validateInput($("input[name=Address]"));
validator.validateInput($("input[name=City]"));
validator.validateInput($("input[name=State]"));
validator.validateInput($("input[name=Zip]"));
});
看来效果不错。如果有更好的方法,请告诉我
看来效果不错。如果有更好的方法,请告诉我
$("#Address, #City, #State, #Zip").on("change", function () {
validator.validateInput($("input[name=Address]"));
validator.validateInput($("input[name=City]"));
validator.validateInput($("input[name=State]"));
validator.validateInput($("input[name=Zip]"));
});