错误放置 - Jquery验证

时间:2015-06-17 15:29:40

标签: jquery jquery-validate

如何根据在字段中输入的详细信息更改错误放置。即如果字段为空,则在提交按钮后显示错误,否则如果该字段不为空但最小长度或最大长度与元素之后的显示错误不匹配。

我尝试了这个,但它没有用。

errorPlacement: function(error, element) {
if(error.text() === "Please fill the field.")
{ 
  if(element.val() === ""){
    $(".login-empty-error").html(error);
  } else {
    error.insertAfter(element);
  }
} else {
  error.insertAfter(element);
}
}

如何查找是否需要该类型?

1 个答案:

答案 0 :(得分:0)

  

如何根据在字段中输入的详细信息更改错误放置。

errorPlacement选项无法执行此操作。使用errorPlacement将错误元素容器放置在布局中后,插件只需根据需要切换此元素。它的位置没有改变,因为元素已经存在但已隐藏。

换句话说,您无法使用任何提供的选项或方法在表单周围动态移动错误元素。

但是,如果您希望在表单中出现错误时在按钮附近显示消息,请查看the showErrors option

showErrors: function (errorMap, errorList) {
    if (this.numberOfInvalids() > 0) {
        $("#summary").html("Your form contains " + this.numberOfInvalids() + " errors, see details above.");
    } else {
        $("#summary").empty();
    }
    this.defaultShowErrors(); // <- default messages that appear within form
}

基本用法演示:http://jsfiddle.net/v2h2a2mb/

您可以调整此功能,以便仅在某些条件下才会显示消息。内置参数如下所述......

<强> errorMap 下, 类型:对象, 键/值对,其中键指的是输入字段的名称,它为要为该输入显示的消息赋值。

<强> errorList 下, 类型:数组, 所有当前已验证元素的数组。包含具有以下两个属性的对象:

  • <强>消息下, 类型:字符串, 要为输入显示的消息。

  • <强>元素下, 类型:元素, 此条目的DOMElement。