<p>Password: <input type="password" name="password1" id="password1" data-dojo-type="dijit/form/ValidationTextBox" data-dojo-props="required:true,intermediateChanges:false,regExp:'[a-zA-Z][a-zA-Z0-9_]{5,15}',invalidMessage:'以字母开头,字母数字下划线组合,6-16字符'" /></p> <p>Confirm: <input type="password" name="password2" id="password2" data-dojo-type="dijit/form/ValidationTextBox" data-dojo-props="required:true,validator:confirmPassword,constraints:{'other': 'password1'},invalidMessage:'两次输入的密码不相同!'" /></p>
require(['dojo/parser','dojo/domReady!'],function(parser){ parser.parse(); }); function confirmPassword(value,constraints) { var isValid = false; if(constraints && constraints.other) { var otherInput = dijit.byId(constraints.other); if(otherInput) { var otherValue = otherInput.value; isValid = (value == otherValue); } } return isValid; }提示不能为空:
输入数字,会提示必须以字母开头:
两次输入不一致,提示:
后来发现有更简单的写法:
<p>Confirm: <input type="password" name="password2" id="password2" data-dojo-type="dijit/form/ValidationTextBox" data-dojo-props="required:true,validator:function(){return this.value == dijit.byId('password1').value},invalidMessage:'两次输入的密码不相同!'" /></p>