2012-12-19 2 views
1

외부 이미지 URL을 제공하기위한 파일 필드와 일반 텍스트 필드가있는 yii 양식이 있습니다. 두 가지 양식 필드 중 하나만 채워지는 것을 확인하는 정상적인 서버 유효성 검사를 수행했습니다 (업로드 할 로컬 파일 또는 외부 그림 URL을 제공 할 수 있기 때문에). 중요하게 주목해야 할 것은 "파일 필드"의 속성 값은 $_POST var을 설정 한 후에 만 ​​사용할 수 있습니다. 이는 파일 필드의 값이 $_POST이므로 모델 클래스의 일반 사용자 정의 유효성 검사 규칙이 작동하지 않음을 의미합니다 제출 후에 만 ​​사용할 수 있습니다 ($_FILES var에 있음).Yii : FileField 및 TextField의 ClientSide 유효성 검사

아래 제공된 그림을 보면 ClientSide Validaton도 필요하므로 사용자는 두 필드를 모두 채울 수 없다는 즉각적인 피드백을받습니다. 그러나 나는 그것을 어떻게 성취합니까? 나는 약 2 일 동안이 문제에 착수하고있다. 해결책을 찾기 위해 시간의 절반을 ... 나는 Yii를 처음 접한다.

http://www.prism-informatics.com/images/demo.png

행복을 빌며, S

+0

당신이 만든 경우 귀하의 필드를 사용하여 fileField(), 나는 당신이 그것과 함께 만든 숨겨진 필드를 확인할 수 있다고 생각합니까? – ernie

+0

Yii의 FileField 유효성 검사기를 테스트했습니다. 해당 유효성 검사기가 클라이언트 쪽에서 파일 필드의 유효성을 검사 할 수없는 것으로 보입니다. 내 자신의 clientValidation 규칙을 작성하고 일부 jQuery 또는 자바 스크립트 유효성 검사를 이미지 필드에 넣어야합니다. 그러나 적어도, 나는 지금 확실히 느낀다 ;-) – Sierra101

답변

0

나는 당신의 문제는 있지만 코드를 제공 didnt하는대로 무엇인지 완전히 확신하지 난 당신이 잊어 가정

public function rules() 
{ 
    return array(
     array('image', 'file', 'types'=>'jpg, gif, png'), 
    ); 
}