いくつかのカスタム動作を備えた日付列が必要でした。具体的には、同じフィールドに日付または年齢を入力できるようにする必要がありました (年齢は年齢としてレンダリングされたままになり、日付は日付としてレンダリングされたままになります)
例えば。「23」と入力すると、有効な値としてフィールドに「23」が残ります。または、「22/1/88」と入力すると、「22/1/88」が有効な値として残ります。
そこで、次のように定義されたエディターで datecolumn を作成してみました (検証のオーバーライドに注意してください)。
editor: {
xtype: 'datefield',
format: 'd/m/Y',
validate: function(){
if(!this.value.match(SOME_REGEX){
if(!this.value.match(SOME_REGEX){
return false;
}
}
return true;
}
}
Chromeデバッガーは、検証イベントと検証機能が日付に対して正しく機能することを示していますが、年齢(int)を入力しようとすると、フィールドに入力すると値が取得され、そこから日付を作成しようとし、推測された日付を元に戻しますフィールドに入ると、THEN validate が呼び出されます。
私が見つけることができる唯一の文書化された検証前イベントは
stripCharsRe
デフォルトは NULL です。
誰でもこれに光を当てることができますか?