在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