Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向Parsley.js添加两个验证程序_Javascript_Jquery_Parsley.js - Fatal编程技术网

Javascript 向Parsley.js添加两个验证程序

Javascript 向Parsley.js添加两个验证程序,javascript,jquery,parsley.js,Javascript,Jquery,Parsley.js,我基本上想做的是检查用户在输入字段中输入的值与两个单独的数组。一个是会产生错误的单词数组,另一个是会发出警告的单词数组。 我创建了这两个函数,当它们与两个不同的字段绑定时,它们似乎工作得很好 , warning: function () { var that = this; return { validate: function (val,arrayRange) { var warningWords = n

我基本上想做的是检查用户在输入字段中输入的值与两个单独的数组。一个是会产生错误的单词数组,另一个是会发出警告的单词数组。 我创建了这两个函数,当它们与两个不同的字段绑定时,它们似乎工作得很好

 , warning: function () {
      var that = this;
      return {
            validate: function (val,arrayRange) {
                    var warningWords = new Array();
                    warningWords[0]="Cricket";
                    warningWords[1]="Football";
                for (var i = 0; i < warningWords.length; i++) {
                        if(val.toLowerCase()===warningWords[i].toLowerCase())
                            return false;
                }
                return true;
        }
        , priority: 32
      }
    }
  , wrong: function () {
      var that = this;
      return {
            validate: function (val,arrayRange) {
                    var errorWords = new Array();
                    errorWords[0]="Justin";
                    errorWords[1]="Chester";
                for (var i = 0; i < errorWords.length; i++) {
                        if(val.toLowerCase()===errorWords[i].toLowerCase())
                            return false;
                }
                return true;
        }
        , priority: 32
      }
    }
,警告:函数(){
var=这个;
返回{
验证:函数(val、arrayRange){
var warningWords=新数组();
警告词[0]=“板球”;
警告语[1]=“足球”;
for(var i=0;i
还有HTML

  <label for="email">ERROR :</label>
<input name="message1" id="error" parsley-trigger="keyup" parsley-wrong="" ></input>

<label for="message">Warning</label>
<input name="message" parsley-trigger="keyup" parsley-warning=""></input>
<button type="submit">Submit</button>
错误:
警告
提交
是否可以将这两个函数绑定到同一输入字段? 其次,我希望在警告的情况下,输入字段背景会变成黄色,如果出现错误,背景会变成红色 我已经克服了欧芹的错误。但我是否可以创建另一个类,当警告函数使表单无效时将触发该类

第三,即使警告功能导致字段无效,是否可以提交表单?
通过JS很容易实现,因此我们可以了解如何阻止parsley停止表单验证。

对于Q1,您应该能够在同一输入上使用多个自定义验证程序,就像您可以使用parsley的多个内置验证程序一样。如果要强制先验证优先级,请提高或降低优先级

作为对Q2的响应,您可以向输入中添加其他类来修改parsley错误样式。下面是一个例子:

input.parsley-error {
    background-color: #f00;
}

input.parsley-error.warning {
    background-color: #ff0;
}
因此,如果两个验证器位于同一输入字段上,则可以让警告验证器在返回false时添加.warning类,并在返回true时删除该类

对于Q3,您应该能够通过重写“onFormValidate”侦听器提交表单,尽管存在验证问题,并让它返回true,即使“isFormValid”参数为false

$('#formId').parsley({
    listeners: {
        onFormValidate: function(isFormValid, event, ParsleyForm) {
            return true;
        }
    }
});

在一个字段上可以有多个欧芹的内置验证器处于活动状态?我还没有找到这样的例子。你有一个例子吗?