2013-09-25 2 views
3

최근 버전의 symfony2에서는 FormBuilder의 addValidator 함수가 없어 졌다고합니다. 아무도 그 기능을 다시 작성하는 방법을 알고 있습니까?symfony2 2.3 FormBuilder :: addValidator()가없는 이유 FormBuilderInterface에 적응하는 방법?

여기 내 2.0 코드입니다 :

$builder-> addValidator(new CallbackValidator(function(FormInterface $form){ 
     $email = $form->get('email')->getData();  
     if (empty($email)) { 
      $form['email']->addError(new FormError("Du måste ange en epostadress för användaren")); 
     } 
    })); 

나는 FormBuilder 2.1에서 "FormBuilderInterface"로 대체되었다는 것을 이해하지만 난 아직도 내가이 기능을 재 작성하는 데 필요한 단계를 무엇인지에 조금 혼란 스러워요.

답변

4

CallbackValidator으로 구현 된 symfony 2.1 FormValidatorInterface은 더 이상 사용되지 않으며 2.3에서 제거되었습니다.

이 인터페이스 FormValidatorInterface가 사용되지 않습니다 및 심포니 2.3에서 제거됩니다

Upgrade to 2.1 file는 솔루션을 제공합니다.

이 인터페이스를 사용하여 사용자 정의 유효성 검사기를 구현 한 경우 FormEvents::POST_BIND (또는 *BIND 이벤트 중 하나)을 수신하는 이벤트 리스너가 사용할 수 있습니다. CallbackValidator 클래스를 사용한 경우에는 addEventListener에 직접 콜백을 전달해야합니다.