파일 필드가 비어 있지 않으면 필드의 유효성을 검사하려고합니다. 따라서 누군가 파일 업로드를 시도하는 경우 업로드 할 내용을 선택했는지 확인하기 위해 다른 필드의 유효성을 검사해야합니다. 그러나 확인 방법을 모르거나 필드가 비어 있지 않은 경우에만 규칙을 실행합니다.파일 필드가 비어 있지 않으면 다른 필드의 유효성을 확인하십시오.
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('full_name, gender_id','required'),
array('video', 'file', 'types'=>'mp4', 'allowEmpty' => true),
array('audio', 'file', 'types'=>'mp3', 'allowEmpty' => true),
array('video','validateVideoType'),
);
}
public function validateVideoType() {
print_r($this->video);
Yii::app()->end();
}
그래서 this->video
은 방금 업로드했는지 여부에 관계없이 항상 비어 있습니다. 변수가 설정되어 있는지 확인하려면 어떻게해야합니까?
감사합니다.하지만 $ params는 항상 빈 배열로 나타납니다 ...? – keeg
$ params는 message와 같은 규칙에 정의 된 다른 매개 변수입니다. –