首页 > 解决方案 > 使用 Parsley.addAsyncValidator 时如何本地化消息?

问题描述

假设我添加了以下异步验证器:

Parsley.addAsyncValidator('availableEmail', function (xhr) {
    return 200 === xhr.status;
}, '/available-email');

我在这样的输入上使用它:

<input
    id="email"
    type="email"
    name="email"
    data-parsley-remote
    data-parsley-remote-validator="availableEmail"
    data-parsley-remote-message="This email is unavailable"
> 

现在这工作正常,如果验证失败,它会向我显示错误消息。但是,我无论如何都找不到本地化错误消息。

我尝试过的事情:

  1. 向其中一个本地化文件添加remote属性:不幸的是,这使得该消息对于所有异步验证器都是全局的,而我只希望它应用于available-email验证器。
  2. 将带有messages属性的选项对象传递给addAsyncValidator方法,这似乎不起作用(与addValidator方法不同)。

标签: javascriptparsley.js

解决方案


首先,这里不需要自定义“asyncValidator”。该名称实际上并不准确,它实际上仅用于处理不仅仅是 REST 的结果。

Best 可能会使用自定义验证器并调用$.ajax自己,就像这里的第一个示例一样。


推荐阅读