ExtJs密码强度检查程序
问题描述:
如何检查ExtJS中的密码强度Iam设计一个带有旧密码,新密码和confirmpassword的窗口。 那么如何diplay新密码旁边的密码强度,并密码匹配消息旁边确认pasword(在不匹配的密码的情况下)ExtJs密码强度检查程序
在此先感谢
答
这样做的梗概是在验证例子ExtJS站点:http://dev.sencha.com/deploy/ext-3.3.0/examples/form/adv-vtypes.html
通过在clientvalidation
事件中放置侦听器,您可以使用密码强度更新面板。
答
在我的项目中,我使用的是passwordmeter。它用来评估密码的算法非常合乎逻辑且功能强大(但情况并非总是如此)。我把它放在箱子容器里,放到一个formpanel中。这里是我的代码:
{
xtype: 'box',
isFormField: true,
autoEl: {
tag: 'div',
id: 'scorebarBorder',
children: [{
tag: 'div',
id: 'score',
html: '0%'
}, {
tag: 'div',
id: 'scorebar',
html: ' '
}, {
tag: 'div',
id: 'complexity',
html: 'Too Short'
}]
}
}
您必须向密码字段与KEYUP事件连接到使用:
{
xtype: 'textfield',
inputType: 'password',
fieldLabel: "Enter your new password",
minLengthText: 'Type at least 4 characters',
maxLengthText: 'Type maximum 50 characters',
enableKeyEvents: true,
listeners: {
keyup: function (field, event) {
chkPass(field.getRawValue());
}
}
}
你也可以使用一个V型比较两个直通值
Ext.apply(Ext.form.VTypes, {
password: function (val, field) {
if (field.initialPassField) {
var pwd = Ext.getCmp(field.initialPassField);
return (val == pwd.getValue());
}
return true;
},
passwordText: 'The passwords entered do not match!<br/>Please Re-Type'
});
}, this);
,然后:通过用户输入
{
xtype: 'textfield',
fieldLabel: "Please re-type your new password",
inputType: 'password',
vtype: 'password',
initialPassField: 'firstPassword'
}
检查也是这个site其他合格检查的替代品。