0

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

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

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

谢谢!

4

1 回答 1

0

发现:

答案是jQueryUI datepicker的constraintInput设置。您可以将其设置为假。

http://api.jqueryui.com/datepicker/#option-constrainInput

在 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
    )
));
于 2013-09-16T01:03:39.747 回答