2

我有一个表单,其中一个字段需要自定义验证器,我正在尝试使用 Parsley v2.2.0-rc1 和 jQuery 2.1.4。我已经确认 jQuery 和 Parsley 都在使用我的浏览器的开发工具加载(按此顺序),以确保我获得所有文件的 HTTP 200。这是我正在尝试做的事情:

<html>
  <form id="stuff" data-parsley-validate>
    <textarea id="stuffList" data-parsley-stuffList></textarea>
    <input type="submit">Submit</input>
  </form>
  <script type="text/javascript" src="jquery-2.1.4.min.js"></script>
  <script type="text/javascript" src="parsley.min.js"></script>
  <script type="text/javascript" src="mycode.js"></script>
</html>

mycode.js:
  jQuery(document).ready(function($) {
    window.Parsley.addValidator('stuffList', {
      requirementType: 'string',
      validateString: function(value) {
                        console.log('Starting validation');
                        if (something) {
                          return true;
                        } else {
                          return false;
                        }
                      },
      messages: {en: 'That stuff is not valid.'},
    });
  });

当我单击提交时,我什至没有收到 console.log 消息,让我知道验证功能已被调用。我究竟做错了什么?

PS我已经尝试过在表单标签中使用 parsley-data-validate 而不是,并且为 data-parsley-stuffList 设置了一些值而不是。这些变化都不会导致验证器执行。

4

2 回答 2

1

像这样将您的验证器添加到ParsleyValidator对象中

window.ParsleyValidator.addValidator('stufflist', function(value, requirements) {
    console.log('Starting validation');
    if (value == 'something') {
        return true;
    } else {
        return false;
    }
}, 34);    

添加自定义消息

window.ParsleyConfig.i18n.en.stufflist='That stuff is not valid.'

通过在控制台中检查来验证您的验证器是否存在

ParsleyValidator.validators
于 2015-09-29T08:40:31.893 回答
0

使用data-parsley-stuff-list代替data-parsley-stuffList,而data-parsley-validate不是parsley-data-validate...

于 2015-09-10T14:30:34.653 回答