如何验证组中的单独字段?jQuery验证



>我有两个输入字段:first_namelast_name。我将它们验证为以下:

rules: {
required: true,
maxlength: 50
},
groups : {
name : "first_name last_name"
},
errorElement: "p",
errorPlacement:  function(error, element) {
let errorContainer = getErrorContainer(element);
if($(errorContainer).attr("class") != "error_container") {
element.parent("div.required").append($('<div class="error_container"></div>'));
errorContainer = getErrorContainer(element);
}
$(errorContainer).append(error);
function getErrorContainer(element){
return element.parent("div.required").children("div.error_container");
}
},
highlight: function(element, errorClass, validClass) {
$(element).addClass(errorClass).removeClass(validClass);
$(element).css("background-color", "#ffd0e0");
//$(element).css("color", "black");
$(element).parent("div.required").children("div.error_container").children("p").removeClass("ok").addClass("error");
$(element).parent("div.required").parent("td").css("background-color", "#ffeded");
},
unhighlight: function(element, errorClass, validClass) {
$(element).removeClass(errorClass).addClass(validClass);
$(element).css("background-color", "white");
$(element).parent("div.required").children("div.error_container").children("p").css("display", "block");
$(element).parent("div.required").children("div.error_container").children("p").removeClass("error").addClass("ok");
$(element).parent("div.required").children("div.error_container").children("p").html("OK");
if($(element).parent("div.required").parent("td").children("div.required").children("div.error_container").children("p.error").length == 0){
$(element).parent("div.required").parent("td").css("background-color", "#fff");
}
}

目前,我遇到了一个问题,如果first_name满足规则(例如:最大长度<50(并且last_name出现错误,那么验证器总是返回ok状态。原因是:highlightunhighlight同时被激活,unhighlight覆盖highlight。我希望在这种情况下,如果我触发last_name字段,那么验证器会给我错误状态,如果first_name正常状态。我该怎么做?我正在使用jquery-validation 1.19.1.注意:名称组只有一条错误消息。

您不应该针对您的情况使用groups选项,根据您所展示的内容,我认为您可能误解了此选项的预期目的。

例如,使用require_from_group方法时,会在一组字段上收到多个相同的错误消息,这并不理想。groups选项通过为这组字段显示一条错误消息而不是重复的相同消息来解决此问题。

因此,除非您使用的是require_from_group或类似方法,否则您应该删除groups选项。

相关内容

  • 没有找到相关文章

最新更新