2012-05-04 9 views
0
이 두 필드 중 하나 이상 작성하는 경우 내가 확인해야하기 때문에 나는 아래처럼 내 form에 내 사용자 지정 FORM:isvalid() 기능을 만들 필요가

:젠드 양식 : 사용자 정의 유효성 검사기 isvalid()

class Products_AddForm extends Zend_Form { 

public function isValid($data) 
{ 

    // Check special post data 
    $pzn_val = $data['PZN']; 
    $mar_val = $data['PZO']; 

    if(empty($pzn_val) && empty($mar_val)) { 
     $this->getSubForm('sub1')->getElement('PZN')->setErrors(array('PZN or PZO needed')); 
     $this->getSubForm('sub2')->getElement('PZO')->setErrors(array('PZN or PZO needed')); 
    } 

    // Standard validation 
    return parent::isValid($data); 

} 

PZNPZO의 오류는 다른 오류 (다른 필드)가있는 경우에만 발생합니다. form error은 어떻게 받습니까? 필드 PZNPZOnot required으로 정의됩니다.

TIA 매트

답변

4

시도 :

public function isValid($data) { 
    $isValid = parent::isValid($data); 
    // Check special post data 
    $pzn_val = $data['PZN']; 
    $mar_val = $data['PZO']; 

    if(empty($pzn_val) && empty($mar_val)) { 
     $this->getSubForm('sub1')->getElement('PZN')->setErrors(array('PZN or PZO needed')); 
     $this->getSubForm('sub2')->getElement('PZO')->setErrors(array('PZN or PZO needed')); 
     $isValid = false; 
    }  

    return $isValid; 
} 
+0

아. 도와 줘서 고마워. 이것은 아주 쉬웠다. ... – frgtv10

+0

그것이 일하는 것을 알고 기쁘다. 당신은 Accepted answer ..로 표시 할 수 있습니다. :) –

+0

5 분을 기다릴 필요가 있습니다 ... '5 분 안에 대답을 받아 들일 수 있습니다 ^^ – frgtv10

관련 문제