在EXTJS中,我有一個DateField。用戶輸入'abcd'到該字段,如果我得到值,它將返回一個空字符串,而不是'abcd'。EXTJS日期字段驗證
我該如何強制用戶爲dateField輸入正確的值?或者我如何才能獲得該領域的真實投入?
謝謝。
在EXTJS中,我有一個DateField。用戶輸入'abcd'到該字段,如果我得到值,它將返回一個空字符串,而不是'abcd'。EXTJS日期字段驗證
我該如何強制用戶爲dateField輸入正確的值?或者我如何才能獲得該領域的真實投入?
謝謝。
datefield還有一個getRawValue方法,它與getValue不同,因爲它不應用任何getValue驗證。
要強制用戶輸入正確的值,可以使用reMask屬性。默認驗證邏輯將允許無效輸入,並將顯示該條目對於紅色突出顯示等無效。 reMask掩碼過濾鍵盤輸入。在這個例子中,它限制爲數字和正斜槓,並且可以擴展到任何需要的日期格式。
Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
width: 300,
bodyPadding: 10,
title: 'Dates',
items: [{
xtype: 'datefield',
anchor: '100%',
fieldLabel: 'From',
emptyText: 'mm/dd/yyyy',
maskRe: /[0-9\/]/,
name: 'from_date',
maxValue: new Date() // limited to the current date or prior
}, {
xtype: 'datefield',
anchor: '100%',
emptyText: 'mm/dd/yyyy',
maskRe: /[0-9\/]/,
fieldLabel: 'To',
name: 'to_date',
value: new Date() // defaults to today
}]
});?
maskRe,你使用不正確,因爲如果用戶只輸入數字,他將被允許.. – 2013-06-17 08:52:58
當您在使用的DateField方法getValue
的回報將是:Wed Jul 25 2012 00:00:00 GMT-0300 (BRT)
,例如,但可以使用,Ext.util.Format.date(date, 'd/m/Y H:i:s');
格式的日期和回報率將是"25/07/2012 00:00:00"
。
發佈一些代碼會有幫助。 ExtJs DateField確實有一些內置的驗證。 – sha 2012-07-30 10:27:40
相關:http://stackoverflow.com/q/5693512/320399 – blong 2013-02-19 16:03:34