作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我定义了一个dijit.form.ValidationTextBox
:
var nameBox = new ValidationTextBox({
style: 'width: 300px;',
trim: true,
required: true,
regExp: '.{5,50}',
invalidMessage: 'Name is required and must be between 5 and 50 characters',
value: dto.name
}, 'name')
但是验证并没有完全按照我的预期进行。如果我进入该字段,输入 3 个字符然后离开,我会收到给定的消息。当我清除后记字段时,我仍然收到相同的消息。
但是,当我第一次聚焦该字段并将其留空时,我收到消息:
This value is required
当我随后输入 3 个字符时,我得到的是相同的标准消息,而不是我给出的自定义消息。
似乎第一个错误消息“问题”被“卡在”小部件上。这是某种错误,还是我配置错误?我正在使用 Dojo 1.9.2。
最佳答案
invalidaMessage 仅用于不满足正则表达式条件的验证问题。对于“required= true”条件,使用单独的“missingMessage”属性。当 required 设置为 true 时,如果该字段留空,则必须设置该属性才能显示。
var nameBox = new ValidationTextBox({
style: 'width: 300px;',
trim: true,
required: true,
regExp: '.{5,50}',
invalidMessage: 'Name is required and must be between 5 and 50 characters',
missingMessage: 'Name is required and must be between 5 and 50 characters',
value: dto.name
}, 'name')
这将解决问题。
关于javascript - Dijit ValidationTextBox : invalidMessage displayed or not, 取决于用户首先创建的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24905888/
我是一名优秀的程序员,十分优秀!