我有以下字段使用它自己的正则表达式来验证:
<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
答案 0 :(得分:3)
是的,这对Parsley来说并不容易。每个验证器都有一个唯一的错误消息。
如果您想这样做,出于UI / UX目的,您可能有两种可能:
1)您需要定义一些自己的自定义验证器及其相关消息。
在你的例子中:
nospaces
及其66优先级的消息nonumbers
及其优先级为65的消息pattern
验证程序(64个优先级)并最终通过“仅允许alphanum”等内容更改其消息然后将这3个验证器添加到您的输入中,并根据它们各自的优先级,以正确的顺序触发它们,以显示您想要的正确错误消息,如问题中所述。
优点:易于重复使用
缺点:需要做一些工作
2)保留模式验证器,并将自定义函数绑定到此输入的parsley:field:error
事件,并进行检查以显示此字段所需的正确错误消息,而不是默认消息
优点:在单一功能中可能会减少工作量 缺点:重复性不高