如何针对特定条件组合消息



这是我编写的验证代码,用于验证用户名和密码是否分别输入。

$('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.

假设你正在使用jQuery验证插件,你可以这样做:

$.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接管其他情况。

最新更新