如何为同一字段自定义不同的错误消息?

时间:2014-03-26 20:36:30

标签: javascript forms validation parsley.js

我有以下字段使用它自己的正则表达式来验证:

<input type="text" name="first-name" class="form-control" id="first-name" placeholder="First Name" 
       data-parsley-trigger="change" required data-parsley-alpha data-parsley-pattern="^[A-Za-z]*$"/>

该字段有多个验证失败状态,我希望每个状态都有不同的错误消息。

例如,如果用户输入空格,我希望错误消息说&#34;不允许空格&#34;,但如果它有数字字符,我希望错误消息说&#34;没有数字允许&#34;。

我试图通过阅读文档来弄清楚如何做到这一点,但我仍然对如何实现这一点感到困惑。

我正在使用Parsley 2.0.0-rc4

1 个答案:

答案 0 :(得分:3)

是的,这对Parsley来说并不容易。每个验证器都有一个唯一的错误消息。

如果您想这样做,出于UI / UX目的,您可能有两种可能:

1)您需要定义一些自己的自定义验证器及其相关消息。

在你的例子中:

  • 创建验证器nospaces及其66优先级的消息
  • 创建验证程序nonumbers及其优先级为65的消息
  • 仍然使用您的pattern验证程序(64个优先级)并最终通过“仅允许alphanum”等内容更改其消息

然后将这3个验证器添加到您的输入中,并根据它们各自的优先级,以正确的顺序触发它们,以显示您想要的正确错误消息,如问题中所述。

优点:易于重复使用
缺点:需要做一些工作

2)保留模式验证器,并将自定义函数绑定到此输入的parsley:field:error事件,并进行检查以显示此字段所需的正确错误消息,而不是默认消息

优点:在单一功能中可能会减少工作量 缺点:重复性不高