【问题标题】:CJuiDatePicker, YII Date Picker required需要 CJuiDatePicker, YII 日期选择器
【发布时间】:2026-02-05 00:10:01
【问题描述】:

有没有办法将 CJuiDatePicker 验证为必填字段?

<?php     
        $this->widget('zii.widgets.jui.CJuiDatePicker',array(
                                    'model'=>$model,
                                    'attribute'=>'bdate',
                                    'options'=>array( 
                                                'showAnim'=>'fadeIn', 
                                                'dateFormat'=>'mm/dd/yy',
                                                'changeMonth'=>true,
                                                'changeYear'=>true,
                                                'minDate'=>'01/01/1900',
                                                'yearRange' => '-200:+0',
                                                'maxDate'=>'0',
                                                ),
                                    'htmlOptions'=>array('readonly' => true, 'class' => "form-control", 'required'=> 'true', 'value'=>isset($_SESSION["bdate"])?$_SESSION["bdate"]:'')
                            ));
                        ?>

谢谢!

【问题讨论】:

    标签: php yii requiredfieldvalidator


    【解决方案1】:

    只需在模型中将“bdate”声明为必需属性:

    public function rules()
        {
            return array(
                ...
                array('bdate', 'required'),
                ...
            );
        }
    

    有问题吗?

    【讨论】:

    • 请提供更多信息它究竟是如何不工作的。在我的应用程序中,我使用 CJuiDatePicker 作为必填字段,它确实有效。
    • 这是我的代码的一部分: $this->widget('zii.widgets.jui.CJuiDatePicker',array( 'name'=>'Customer[bdate]', 'options'=>array ( 'changeMonth'=>true, 'changeYear'=>true, 'minDateTime'=>'js:new Date(' . date('Y,m-1,d,H,i') . ')', ' showAnim'=>'fadeIn', ), 'htmlOptions'=>array( 'class'=>"form-control", ), ));
    • 和:
    • 即使我将它设置为null,表单仍然提交。