私は私のフィールドに「31/12/2012」と入力した場合、それはフィールドに日付を「2014年7月12日」に変更(日付形式は、MM/DD/YYYYです)。私はむしろそれは "有効ではない"エラーメッセージでエラーが発生します。ExtJSの解析日付が誤っ
私は、以前の開発者からこのコードを継承している:
function dateRangeCheck(val, field) {
field.vtypeText = '';
var date = field.parseDate(val);
if (!date) {
field.vtypeText = val + ' is not a valid date - it must be in the format (MM/DD/YYYY).';
return false;
}
var retVal = true;
if (field.fromField) {
var fromField = Ext.getCmp(field.fromField);
var fromDate = fromField.parseDate(fromField.getValue());
// If we don't have a fromDate to validate with then return true
if (!fromDate)
return true;
retVal = (date >= fromDate);
if (retVal)
fromField.clearInvalid();
}
else if (field.toField) {
var toField = Ext.getCmp(field.toField);
var toDate = toField.parseDate(toField.getValue());
// If we don't have a toDate to validate with then return true
if (!toDate)
return true;
retVal = (date <= toDate);
if (retVal)
toField.clearInvalid();
}
if (!retVal) {
field.vtypeText = 'From Date must be less than or equal to To Date.';
}
return retVal;
}
私はできるだけ早く私はフィールドに「3」と入力して、デフォルトの「日付範囲」VTYPEを使用しようとすると、それはJSをスローします実行時例外 'オブジェクトはこのプロパティまたはメソッドをサポートしていません'。
ExtJS4をお使いですか? Ext.form.field.Dateコンポーネントを使用していますか? –
わかりません。 ExtJSバージョンで見つかる唯一のリファレンスは3.0 RC 1.1です。 – michaelkoss
バージョンを取得するには、 'Ext.version || Ext.load()を使ってコンソールに「Ext.getVersion()。version'をロードしました –