yii仅在存在其他字段时进行验证

rob*_*ert 4 yii

我的表单中有两个名为start dateand的字段end date.我只想验证end date是否start date存在.

在轨道上,我们有:if.我们有类似的东西yii吗?

Onk*_*nwa 13

定义自定义函数以进行验证.

定义规则:

array('end_date','checkEndDate');
Run Code Online (Sandbox Code Playgroud)

定义自定义功能:

public function checkEndDate($attributes,$params)
{
  if($this->start_date){
     if(!$this->validate_end_date($this->end_date))
         $this->addError('end_date','Error Message');
  }  
}
Run Code Online (Sandbox Code Playgroud)


小智 5

基于另一个字段的一个字段的验证可以在模型规则方法中完成。这是规则方法。

        ['start_date','required','when'=>function($model) {
            return $model->end_date != '';
        }]
Run Code Online (Sandbox Code Playgroud)

我希望这能帮到您。

  • 注:以上解决方案适用于 Yii 2 (3认同)