0

在 EXTJS 中,我有一个 DateField。用户在该字段中输入了“abcd”,如果我获取值,它将返回一个空字符串,而不是“abcd”。

如何强制用户为 dateField 输入正确的值?或者我怎样才能获得该文件中的真实输入?

谢谢。

4

2 回答 2

3

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
    }]
});?
于 2012-07-30T19:39:46.027 回答
0

例如,当您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".

于 2012-07-30T18:52:24.560 回答