2014-10-23 4 views
0

나는 주소 엔티티가있는 간단한 등록 양식을 가지고 있습니다.Symfony2 등록 확인 양식 - 전자 메일 (두 유효성 검사기)

loadValidatorMetadata(...) {...} 메서드를 사용하여 각 속성 값의 유효성을 검사합니다.

전자 메일이 valide (문자 등 ...)인지, email1이 email2와 같고 email1이 bad-index-array에 있지 않은지 확인하고 싶습니다.

유효성 검사 설정은 쉽습니다. 그러나 어떻게 각기 다른 오류 메시지를 정의 할 수 있습니까?

코드 예제 :

public $email; 

public $email2; 

static function loadValidatorMetadata(ClassMetadata $metadata) 
{ 
    ... 

    $metadata->addGetterConstraint('email', new Assert\False(array(
     'message' => 'validation.addressFormEmail' 
    ))); 

    ... 
} 

public function getEmail() 
{ 
    if ($this->email == $this->email2) { 
      return false; 
    } 

    return false; 
} 
+1

은 어디에서 값을 확인합니까? 각 규칙에 대해 하나의 유효성 검사기가 있습니까? – Hpatoio

답변

0

Symfony2는 값이 반복되지 않을 경우 당신은 당신의 메시지를 설정할 수 있습니다 반복 된 형태의 유형이 있습니다. 엔티티 유효성 검사에서 전자 메일 유효성 검사를위한 사용자 지정 메시지를 설정할 수 있습니다.

http://symfony.com/doc/current/reference/forms/types/repeated.html#validation http://symfony.com/doc/current/reference/constraints/Email.html

+0

죄송합니다, 잊어 버렸습니다 ... 저는 formbuilder를 사용하지 않습니다. 그리고 저는 교리를 사용하지 않습니다. – NathanielR

+0

유효성 검사 주석을 사용하기 위해 doctrine이 필요하지 않습니다. 그래서 당신은 그것을 사용할 수 있고, 폼 데이터를 받았을 때 각각이 서로 동일하다는 것을 확인한 다음 오류를 직접 추가 할 수 있습니다. –

관련 문제