【问题标题】:Custom remote validator error message自定义远程验证器错误消息
【发布时间】:2015-05-11 16:11:28
【问题描述】:

使用自定义远程验证器,您应该如何摆脱错误消息?

在字段上使用 data-parsley-remote-validator='mycustom' 会在控制台“未定义异步验证器”中出现错误,除非验证器已添加到 DOM 就绪,即不在另一个函数中。但是,如果它是在 DOM 就绪时添加的,则 parsley 会自动调用它,这在提交/更改或您设置的任何其他内容之前不会发生。

我可以做这样的事情,但这有点违背让欧芹在更改时调用验证器的目标:

$('#signUpForm').on('submit', function() {
//add the attribute here to avoid the initial error message
  $('#exampleInputEmail1').attr('data-parsley-remote-validator', 'validateEmail');
//then add the custom validator
  $('#exampleInputEmail1').parsley()
  .addAsyncValidator('validateEmail', function (xhr) {
           if(xhr.status == '200') {
               return 200;
             }
          // return the error message if email is taken
           else if(xhr.status == '404') {
             response = '<ul class="errorlist"><li>That email has already been taken, please try another</li></ul>'
             $('#errorResponse').html(response);
            }
      }, '/api/v1/email/available', { "type": "POST", "dataType": "json", "data": data }
   );
 });

【问题讨论】:

    标签: parsley.js


    【解决方案1】:

    对于那些在 Parsley.js 中获取自定义远程验证器错误消息的人,

    您可以在元素中添加data-parsley-remote-message

    <input type="text"  data-parsley-remote-validator="my_remote_validator" data-parsley-remote-message="Custom error message only for remote validation on this element" >
    

    使用 Parsley.js - 版本 2.3.11 进行测试

    【讨论】:

      【解决方案2】:

      您的异步验证器本身不应该设置错误消息,它应该简单地返回值是否验证。错误消息使用不同的 API 添加和/或指定为数据属性,请查看文档。

      【讨论】:

      • 好的,我可以删除它,但我仍然会遇到控制台中出现错误消息的问题。 addAsyncValidator 正在添加和调用,而不仅仅是添加,这就是问题所在。正确的用法是什么?谢谢
      • 如果在同一个字段上使用两个远程验证器,如何设置不同的消息?
      猜你喜欢
      • 2011-10-12
      • 1970-01-01
      • 2016-04-18
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      相关资源
      最近更新 更多