Jquery 验证显示成功消息

时间:2021-02-16 21:20:51

标签: javascript jquery

如果验证良好,我想验证一个字符串并显示成功消息,我有这个:

$(document).ready(()=>{
    console.log("Pagina cargada...");
    jQuery.validator.addMethod('testWord', function (value, element) {
        var validator = this;
        console.log("Value ---> "+/^(El\s|La\s|L')\w+\sés\s\w+/.test(value))
        var res = /^(El\s|La\s|L')\w+\sés\s\w+/.test(value)
        if(res){
            console.log("in if")
            var errors = {};
            errors[element.name] =  "ok";
            validator.showErrors(errors);
            return false
        }else{
            console.log("in else")
            var errors = {};
            errors[element.name] =  "not ok";
            validator.showErrors(errors);
            return false
        }
    });
    $('form[id="second_form"]').validate({
        rules: {
          test: {
                required: true,
                testWord: true,
            }
        }
      });
    
})

而且它不起作用,它没有显示消息。 这是我用来测试的词:

  • 好词:El Joan és simpàtic
  • 坏话:Mama no esta aqui,esta feura。

我把截图放在这里:

1 个答案:

答案 0 :(得分:1)

这是因为你的表单输入没有 name="test" 还有另一个问题,该方法总是返回 false。

$(document).ready(() => {
  console.log("Pagina cargada...");
  jQuery.validator.addMethod('testWord', function(value, element) {
    var validator = this;
    console.log("Value ---> " + /^(El\s|La\s|L')\w+\sés\s\w+/.test(value))
    var res = /^(El\s|La\s|L')\w+\sés\s\w+/.test(value)
    if (res) {
      console.log("in if")
      var errors = {};
      errors[element.name] = "ok";
      validator.showErrors(errors);
      return true; // <== originally return "false"
    } else {
      console.log("in else")
      var errors = {};
      errors[element.name] = "not ok";
      validator.showErrors(errors);
      return false
    }
  }, "bad input");
  $('#second_form').validate({
    rules: {
      test: {
        required: true,
        testWord: true,
      }
    }
  });

})
<form id="second_form">
  <input name="test" type="text">
</form>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.19.3/dist/jquery.validate.min.js"></script>

相关问题