2014-10-06 9 views
2

양식을 표시 할 수있었습니다 코드를 사용하여 무효 :Zend Framework 2 : 양식을 잘못 표시하는 방법은 무엇입니까? ZF1에서

$form->fieldname->addError('error message'); 

가 어떻게 그것을 ZF2에서 할 수 있습니까? 나는

$form->get('elementName')->setMessages(array('error message')); 

을 시도했지만 양식이 유효하지 않습니다.

+0

나는 이것이 당신에게 큰 도움이 될 것이라고 생각한다. http://stackoverflow.com/questions/13476164/zend-framework-2-custom-validators-for-forms this link http://www.ivangospodinow.com/단순형 - 유효성 검사기 - 젠드 - 프레임 워크 2 - 양식/ –

+0

확실하지 ..하지만 거기에 $ form-> setValid (bool); – peterpeterson

+0

@peterpeterson Form 클래스에는 "setValid"메서드가 없습니다. 어디서 구 했니? –

답변

0

나는 같은 질문을하고 나는 기본 젠드 2 양식으로 쉽게 그렇게하는 법을 모릅니다.

나는 수동형 상태를 숨기고 왜 명백한 addError 기능을 깨뜨리는 것이 왜 필요한지 전혀 알지 못합니다.

그러나

는이 같은 프록시 방식으로 사용하기에 적절입니다 수 있습니다 :

  1. 것은 자신의 양식을 기본 클래스를 만들기을 (더 나중에 쓸 수 있습니다) :

    class BasicForm extends Form 
    { 
        protected _isValid = null; 
    
        public function isValid() 
        { 
         return isset($this->_isValid) ? $this->_isValid : parent::isValid(); 
        } 
    
        public function setValid($value) 
        { 
         $this->_isValid = isset($value) ? (bool)$value : null; 
         return $this; 
        } 
    
    } 
    
  2. 인스턴스화하여 이 사용자 정의 양식 클래스의 실제 양식은 기본 젠드 양식 클래스의 고유 한 형식입니다.

    class SomeYourForm extends BasicForm 
    ... 
    

따라서이 속성을 중첩하여이 양식 유효 상태를 true 또는 false로 설정할 수 있습니다.

누군가에게 도움이 될지도 모릅니다.