在 EXTJS 中,我有一个 DateField。用户在该字段中输入了“abcd”,如果我获取值,它将返回一个空字符串,而不是“abcd”。
如何强制用户为 dateField 输入正确的值?或者我怎样才能获得该文件中的真实输入?
谢谢。
在 EXTJS 中,我有一个 DateField。用户在该字段中输入了“abcd”,如果我获取值,它将返回一个空字符串,而不是“abcd”。
如何强制用户为 dateField 输入正确的值?或者我怎样才能获得该文件中的真实输入?
谢谢。
datefield 也有一个不同于 getValue 的 getRawValue 方法,因为它不应用 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
}]
});?
例如,当您getValue
在 dateField 中使用方法时,返回值为: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"
.