2012-04-25 16 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

これはボタンが同じパネル上にある場合には機能しますが、私の場合はそうではありません。私のアプリケーションは、ナビゲーションボタンを保持するボトムバーを備えたウィザード画面です。確認パスワードが正しくないときにイベントを捕まえることができれば理想的でしょう。 – Fbo

+0

あなたは検証機能を持っています - 他に何が必要ですか?それをキャッチして – sha