2014-06-09 2 views
0

내가 사용하고 있습니다 Yii 2.0, 드롭 다운 목록에서 선택한 옵션의 값을 확인하는 방법을 알아낼 수 없습니다.이 값이 0보다 큰지 확인해야합니다. 내가 무엇을 가지고Yii2 - 폼 유효성 검사 규칙 : 사용자 지정 유효성 검사 함수 또는 대안을 사용하는 방법?

지금까지 규칙에

배열

['year', 'required'], 
['day', 'required'], 
['month', 'checkDefaultValue'],... 

사용자 정의 유효성 검사 방법은이 코드가 작동하지 않는

public function checkDefaultValue() { 
    if ($this->month > 0) { 
     $this->addError('month', 'Month error message...'); 
    } 
} 

이다, 일을위한 더 나은 방법이있다 그것?

+0

배열이 [ "Jan", "Feb"] OR [0 => JAN, 1 => "Feb"] – Kshitiz

답변

2

당신은 지정이

['month', 'in','range' => ['Jan','Feb']], 

같은 값이해야하는 범위를 뭔가를 할 수 있습니다.

+0

감사합니다. 작동하지만, 내가 =! 또는 비슷한 것? –

0

월이 0보다 큰 경우 오류를 추가하기 때문에 코드가 작동하지 않습니다. 이는 원하는 것과 반대입니다. 더

public function checkDefaultValue() { 
    if ($this->month <= 0) { 
     $this->addError('month', 'Month error message...'); 
    } 
} 

을하거나 작업을 수행 할 기본 숫자 유효성 검사기를 사용 :
이 작동 것이다 당신은 여전히 ​​custom validationthis이 도움이 될 것입니다 수행하려는 경우 당신은 range 유효성 검사기를 사용할 수 있습니다

[ 
    ['month'], 
    'number', 
    'integerOnly' => true, 
    'min' => 1, 
    'tooSmall'=>'the selected item is too small for month!!!', 
    'max' => 12, 
    'tooBig'=>'the selected item is too big for month!!!', 
] 
0

당신.

관련 문제