как принять правильный формат даты в yii 1

У меня есть следующий код в моем файле просмотра:

 <?= $this->widget('zii.widgets.jui.CJuiDatePicker', array(
                'model' => $model,
                'attribute' => 'time',
                'language' => 'ru',
                'htmlOptions' => array(
                    'size' => '10',
                    'class' => 'form-control  form_empty centered date',
                ),
                'options' => array(
                    'dateFormat' => 'dd/mm/yy',
                    'showOn' => 'focus',
                    'showOtherMonths' => true,
                    'selectOtherMonths' => true,
                    'changeMonth' => true,
                    'changeYear' => true,
                    'showButtonPanel' => true,
                    'closeText' => Yii::t('ablock', 'Очистить'),
                    'beforeShow' => 'js:
                                function( input ) {
                                    setTimeout(function() {
                                        var clearButton = $(input ).datepicker( "widget" ).find( ".ui-datepicker-close" );
                                        clearButton.unbind("click").bind("click",function(){ $.datepicker._clearDate( input );});
                                    }, 1 )}',
                ),
            ),
                true) ?>

Я использовал этот код, чтобы позволить пользователю вводить дату. Однако он принимает значения 0. Например, если пользователь вводит неполную дату, такую ​​как 0d/mm/yyyy (что является неверной датой), он примет ее как истинную. Мне нужно не разрешать, если пользователь вводит неправильное значение. Как мне это сделать?


person phpdev    schedule 23.03.2017    source источник
comment
Вы добавили правила проверки в модель?   -  person Irfan Ali    schedule 23.03.2017


Ответы (1)


Я не нашел никаких параметров для приема только полных дат. Предлагаемые обходные пути:

  • Проверка AJAX для поля даты в вашей модели
  • отключить ввод поля, поэтому пользователь ограничен средством выбора даты
  • выполнить проверку с помощью метода переопределения даты (см. пример: https://stackoverflow.com/a/21898124/5992898)
person szako    schedule 26.03.2017