Проверка даты в ExtJS - PullRequest
       1

Проверка даты в ExtJS

3 голосов
/ 01 октября 2010

У меня есть поле даты в такой форме:

{
                xtype:'datefield',
                name:'order[date]',
                id:'dato',
                format:'d-m-Y',
                allowBlank: false,
                cls:'input_single',
                emptyText:'dd-mm-yyyy',
                minValue:new Date().add('d',-1),
                onFocus: function(){
                    if (this.el.getValue() == 'dd-mm-yyyy') {
                        Ext.getCmp('dato').setValue('');    
                    }

                },
                msgTarget:'side',
                minText:'Must be future date',
                validationEvent:false


            }

Теперь моя проблема в том, что я хочу заставить пользователя использовать формат dd-mm-yyyy, но с помощью приведенного выше кода пользователь может набрать01102010 за 1 октября 2010 года.

Я думал, что формат: 'dmy' вызовет это, но это не так.

Проверка должна выполняться на стороне клиента.

Таким образом, либо поле должно переформатировать дату до 01-10-2010 onblur, либо оно просто не должно разрешать другие форматы, кроме dd-mm-yyyy.Последняя версия предпочтительнее:)

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 01 октября 2010

Просто немного больше изучил в документации api и обнаружил,

altFormats:'d-m-Y',

Это решило проблему.Теперь он будет принимать только вышеуказанный формат.

0 голосов
/ 08 февраля 2013

Вы можете создать и использовать свой собственный VType, и, включив его, вы можете проверить, ввел ли пользователь действительную дату или нет.Кроме того, он предлагает вам больше возможностей для повторного использования.Для справки: http: docs / #! / Api / Ext.form.field.VTypes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...