搞搞的传奇
请看我提的问题
问题解决
//unique的ajax验证 if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) { Yii::$app->response->format = Response::FORMAT_JSON; $model->imageFile = 'test';//伪造图片一个数据,这样ajax验证通过 return ActiveForm::validate($model); }
页面端unique验证正常,但是图片的require验证一直显示,不能为空,明明已经选择了文件
参考了这个
https://stackoverflow.com/questions/33076125/how-to-use-unique-rules-in-active-record-yii2- 搞搞的传奇 回复了 dashixiong 的回答
['fromdate', 'string'], ['todate', 'validateCheckDate'],
public function validateCheckDate($attribute, $params){ if (!$this->hasErrors()) { if(isset($this->todate)){ if(isset($this->fromdate)){ if(strtotime($this->todate) <= strtotime($this->fromdate)){ $this->addError($attribute, '结束时间应大于开始时间!'); } }else{ $this->addError($attribute, '请填写结束时间!'); } } } }
isset 如果判断不行就换成empty 或者等于空什么的判断,我不知道你传的是字符串还是什么
有点美中不足的是,没有前台JS