如何为同一字段定制不同的错误消息
How to customize different error messages for the same field?
我有以下字段,使用它自己的正则表达式进行验证:
<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]*$"/>
字段有多个验证失败状态,我希望每个状态都有不同的错误消息。
例如,如果用户输入一个空格,我希望错误消息显示"No空格允许",但如果它有一个数字字符,我希望错误消息显示"No numbers allowed"。
我已经试着通过阅读文档来弄清楚如何做到这一点,但我仍然对如何实现这一点感到困惑。
我用欧芹2.0.0-rc4
是的,这不是用欧芹容易做到的事情。每个验证器都有一个唯一的错误消息。
如果你想这样做,出于UI/UX的目的,你可能有两种可能性:
1)您需要定义一些自定义验证器,以及它们相关的消息。
在你的例子中:
- 创建一个验证器
nospaces
及其消息,优先级为66 - 创建一个验证器
nonumbers
及其消息,优先级为65 - 仍然使用您的
pattern
验证器(64优先级),并最终更改其消息,如'只允许字母'
然后将这3个验证器添加到您的输入中,根据它们各自的优先级,它们将以正确的顺序被触发,以显示您想要的错误消息,如您的问题所述。
优点:易于重用
缺点:需要做一些工作
parsley:field:error
事件,并执行您的检查以显示您想要的该字段的正确错误消息,而不是默认的
优点:可能更少的工作,在一个单一的功能
缺点:没有多少可重用性
相关文章:
- jQuery在输入下验证post错误消息
- 在AngularJs中隐藏默认错误消息
- 如果用户输入的长度小于最小长度,则显示错误消息
- 使用ASP.NET CustomValidator避免重复的错误消息
- KOValidation在错误消息中获取可观察值、$index()、$data等
- 更改精细上载中的错误消息
- 如何在页面刷新时隐藏错误消息
- 如何显示错误消息
- 滑块未显示,控制台中没有错误消息
- 表单提交没有'如果为空,则不会显示错误消息
- 为什么我的Alexa技能测试显示正确的lambda输出,但在开发人员控制台中测试时却给出错误消息
- 隐藏错误消息“;未选择文件”;asp:fileUpload的文本
- 登录时显示自定义错误消息
- 如何仅在存在最小值和最大值时才显示错误消息
- 通过 AJAX 检索 Blob 时处理错误消息
- Javascript 错误:消息:预期的“)”
- 如何将错误消息从 meteor 服务器传递到客户端
- 为什么 Angularjs 总是显示错误消息
- 我如何让我的 var 错误消息输出是使用字段还是字段,具体取决于留空的字段数
- 将错误消息 JSON 传递到另一个页面模板