Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 使CJuiDatePicker字段接受多种日期格式,更改JS验证(yii 1.1)_Jquery Ui_Yii_Jquery Ui Datepicker - Fatal编程技术网

Jquery ui 使CJuiDatePicker字段接受多种日期格式,更改JS验证(yii 1.1)

Jquery ui 使CJuiDatePicker字段接受多种日期格式,更改JS验证(yii 1.1),jquery-ui,yii,jquery-ui-datepicker,Jquery Ui,Yii,Jquery Ui Datepicker,我有一个zii.widgets.jui.CJuiDatePicker,具有特定的日期格式(Y-M-D),这是首选的数据库格式,但我希望与之相关的输入字段也可以用D/M或D/M/Y填充。即,如果用户输入2013年12月30日或2013年12月30日,我希望该字段理解2013-12-30。但是,该字段正在进行一些JavaScript验证,以防止用户输入数字或“-”以外的内容 如何禁用仅允许用户键入数字和“-”的限制?如果可以的话,我可以检查onBlur字段并通过JavaScript将用户友好的日期转

我有一个zii.widgets.jui.CJuiDatePicker,具有特定的日期格式(Y-M-D),这是首选的数据库格式,但我希望与之相关的输入字段也可以用D/M或D/M/Y填充。即,如果用户输入2013年12月30日或2013年12月30日,我希望该字段理解2013-12-30。但是,该字段正在进行一些JavaScript验证,以防止用户输入数字或“-”以外的内容

如何禁用仅允许用户键入数字和“-”的限制?如果可以的话,我可以检查onBlur字段并通过JavaScript将用户友好的日期转换为Y-M-D,或者只将值作为D/M或D/M/Y提交,让接收数据的控制器在验证之前将其动态转换为Y-M-D

(注意:我知道一个解决方案是只将日期选择器设置为D/M/Y,但我希望用户能够使用斜线或破折号输入日期,并且当只输入日期和月份时,日期选择器仍然不会猜测完整日期)

谢谢

发现:

答案是jQueryUI日期选择器的constraintInput设置。您可以将其设置为false

在Yii中:

$this->widget('zii.widgets.jui.CJuiDatePicker', array(
    'model' => $model,
    'attribute' => 'date',
    //(...)
    'options' => array(
        'dateFormat' => 'yy-mm-dd', // format of "2012-12-25"
        'constrainInput'=>false
    )
));