2012-04-25 66 views
2

我使用這些代碼2塊以驗證密碼字段4密碼驗證。當確認字段中的密碼不等於第一個字段時,文本框被標記爲紅色,以便用戶知道密碼不相等。ExtJS的

現在,我想完成的事情: 我想禁用我的窗體的導航按鈕,只要密碼不相等。 我已經嘗試過客戶端驗證事件,但這隻會在您提交表單時觸發(我不這麼做)。

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

這將工作,如果按鈕將在同一個面板,但在我的情況下,它不是。我的應用程序是一個帶有底欄的嚮導,它包含我的導航按鈕。如果在確認密碼不正確的情況下我可以捕捉到事件,這將是理想的,因此我可以從那裏禁用導航按鈕... – Fbo 2012-04-27 08:51:11

+0

您有驗證功能 - 您還需要什麼?從那裏抓住它 – sha 2012-04-27 10:20:41