jQuery仅在第一个是true时才验证第二种方法



我有一个特定的问题。我正在使用jQuery Validate,并想在一个字段上设置一个多个自定义规则,代码看起来像

var validate = {
  opt: {
    onkeyup: function(element, event) {
      if (event.which === 9 && this.elementValue(element) === "") {
        return;
      } else {
        validator.element(element);
      }
    },
    rules: {
      'user[password]': {
        method1: {},
        method2: {},
        required: true,
      },
    },
  },
  messages: {}
};
jQuery.validator.addMethod('method1', function(a, b, c) {
  return false;
});
jQuery.validator.addMethod('method2', function(a, b, c) {
  console.log('test');
  return true;
});

问题2仅当方法1返回true时才会触发。代码是一个示例。是否有任何选择这样的设置行为。我想念什么吗?我在其他页面上有类似的代码,并且可以正常工作。

问题2仅当方法1返回true时才会触发。代码是一个示例。

每个字段评估规则,一次(以声明的顺序,除了required以外,(。

如果字段为required,则required消息将显示直到输入到字段中为止。一旦字段开始填写,剩余的方法将按顺序发射... method1消息将显示为直到满足该规则(返回true(。因此,method2仅在满足requiredmethod1后才发射(true(。

由于您的method1始终是false,因此永远不会满足,并且method2永远不会评估。

是否有这样的选项设置行为。

不,它是这样设计的,也没有选择将其关闭。否则,您将在一个字段上显示几个同时显示的消息。

我错过了什么吗?

如果您需要两种自定义方法同时启动,则应将这两个规则合并为一种方法。

i got 在其他页面上具有类似的代码,并且可以正常工作。

取决于您对"类似"one_answers"正确"的定义。如果您认为同时评估两个规则,那是不可能的。上面的OP中的代码正在按预期工作和设计。

相关内容

  • 没有找到相关文章

最新更新