В моем проекте я использую passwordmeter .Алгоритм, который он использует для оценки пароля, является очень логичным и мощным (что не всегда так).Я положил его в контейнерную коробку в формпанель.Вот мой код:
{
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());
}
}
}
Вы также можете использовать vtype для сравнения двух проходных значений, введенных пользователем:
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'
}
Проверьте также это сайт для других альтернативных проверок.