2012-04-25 5 views
2

Я использую эти 2 блока кода, чтобы проверить поле пароля. Когда пароль в поле подтверждения не равен первому полю, текстовое поле будет помечено красным цветом, чтобы пользователь знал, что пароли не равны.Проверка пароля ExtJS 4

Теперь я хочу выполнить: Я хочу отключить кнопки навигации моей формы, когда пароли не равны. Я пробовал с событием clientvalidation, но это только срабатывает, если вы отправляете свою форму (которую я не делаю).

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 : 'Enter 2 times the same password!' 
}); 

Пример:

access.push({ 
fieldLabel: 'Password', 
anchor: '99%', 
name: 'passwd', 
id: 'passwd', 
inputType: 'password', 
maxLength: 40, 
vtype: 'password' 
}); 

access.push({ 
fieldLabel: 'Password again', 
name: 'passwd1', 
id: 'passwd1', 
maxLength: 40, 
inputType: 'password', 
vtype: 'password', 
initialPassField: 'passwd' 
}); 

ответ

0

Добавить кнопку вы хотите отключить свойство bindForm: true. Это сделает кнопку включенной/отключенной в зависимости от действительности формы.

+0

Это будет работать, если кнопка будет находиться на одной панели, но в моем случае это не так. Мое приложение - это wizardscreen с узким блоком, в котором хранятся мои навигационные кнопки. Было бы идеально, если бы я мог поймать событие, когда пароль подтверждения неверен, поэтому я могу отключить навигационную кнопку оттуда ... – Fbo

+0

У вас есть функция проверки - что еще вам нужно? Поймать это оттуда – sha

Смежные вопросы