我已经定义了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个字符然后离开,我收到给定的消息。当我清除字段后,我仍然得到相同的消息。
然而,当我第一次聚焦该字段并将其留空时,我收到消息:
此值是必需的
当我,之后输入3个字符时,我有相同的标准信息,而不是我给出的自定义信息。
似乎问题的第一条错误消息“卡住了”。在小部件上。这是某种错误,或者我错误配置了什么?我使用 Dojo 1.9.2 。
答案 0 :(得分:2)
invalidaMessage 仅用于不满足正则表达式条件的验证问题。 对于“ required = true ”条件,使用单独的“ missingMessage ”属性。如果该字段在需要时保留为空,则必须将此属性设置为显示。
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')
这将解决问题。