微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 在dojo中检查密码

我想使用Dojo检查两个密码是否相同.

这是我的HTML

<form id="form" action="." dojoType="dijit.form.Form" />

<p>Password: <input type="password"
name="password1"
id="password1"
dojoType="dijit.form.ValidationTextBox"
required="true"
invalidMessage="Please type a password" /
></p>

<p>Confirm: <input type="password"
name="password2"
id="password2"
dojoType="dijit.form.ValidationTextBox"
required="true"
invalidMessage="This password doesn't match your first password" /
></p>

<div dojoType="dijit.form.Button" onClick="onSave">Save</div>

</form>

这是我到目前为止的JavaScript


var onSave = function() {
if(dijit.byId('form').validate()) { alert('Good form'); }
else { alert('Bad form'); }
}

谢谢你的帮助.我可以用纯JavaScript做到这一点,但我试图找到Dojo的做法.

解决方法:

这会让你更接近

>设置intermediateChanges = false可使验证程序在每次击键时保持运行状态.
>验证dijit的约束对象被传递给它的验证器.使用此选项传入其他密码条目
> dijit.form.Form会在提交时自动调用所有子dijit上的isValid(),如果不是全部验证,则取消提交.我虽然无效的会得到他们的错误信息,但他们没有.那是留给读者的练习;-)

验证功能


function confirmPassword(value, constraints)
{
    var isValid = false;
    if(constraints && constraints.other)  {
        var otherInput =  dijit.byId(constraints.other);
        if(otherInput) {
            var otherValue = otherInput.value;
            console.log("%s == %s ?", value, otherValue);
            isValid = (value == otherValue);
        }
    }
    return isValid;
}
function onsubmit()
{
    var p1 = dijit.byId('password1').value;
    var p2 = dijit.byId('password2').value;
    return p1 == p2;
}

和输入对象:


<p>Password: <input type="password"
    name="password1"
    id="password1"
    dojoType="dijit.form.ValidationTextBox"
    required="true"
    intermediateChanges=false
    invalidMessage="Please type a password" /></p>

<p>Confirm: <input type="password"
    name="password2"
    id="password2"
    dojoType="dijit.form.ValidationTextBox"
    required="true"
    constraints="{'other': 'password1'}"
    validator=confirmPassword
    intermediateChanges=false
    invalidMessage="This password doesn't match your first password" /></p>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐