如何结合特定条件的消息?

时间:2016-10-07 09:38:20

标签: jquery jquery-validate

这是我编写的验证码,用于验证用户名和密码是否已单独输入。

$('form').validate({
    messages: {
        username: " Please enter a username.",
        password: " Please enter a password.",
    },
    errorPlacement: function (error, element) {
        error.appendTo(".error-message");
    }
});

如果未输入用户名和密码,如何显示合并消息? 例如:Enter a username and a password.

1 个答案:

答案 0 :(得分:0)

假设您的代码使用了jQuery Validation插件,您可以执行以下操作:

$.validator.addMethod("usernameAndPassword", function(value, element) {
        return $('#username').val().length || $('#password').val().length;
}, "Please enter a username and password.");

$('form').validate({
  rules: {
    username: {
        usernameAndPassword: true,
        required: {
            depends: function(){
            return $('#password').val().length;
          }
        }
    },
    password: {
        required: {
            depends: function(){
            return $('#username').val().length;
          }
        }
    }
  },
  messages: {
    username: {
        required: "Please enter a username."
    },
    password: {
       required: "Please enter a password."
     }
  },
  errorPlacement: function (error, element) {
    error.appendTo(".error-message");
  }
});

这会添加一个名为usernameAndPassword的自定义验证程序,仅在填充usernamepassword时才会触发。usernamepassword上的必需验证被定义为仅在另一个存在时运行,以允许usernameAndPassword接管。