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

How to combine messages for specific conditions?

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

$('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 均未填写时触发。username 和 [=13 都需要进行验证=] 被定义为只有 运行 当另一个存在时,允许 usernameAndPassword 接管否则。