2012-03-25 2 views
2

생성 된 슬러그가 고유한지 확인하는 사용자 정의 검사기를 설치했습니다. 이제사용자 정의 검사기가 오류 메시지를 출력하지 않습니다.

나는 검증을 테스트하고 그것을 유효성 검사기가 작동하는 것 같다 (형태가 지속되지 않습니다)하지만 난 오류 메시지가 표시되지 않습니다 ...

class Unique extends Constraint 
{ 
public $message = 'The value of "%property%" already exists.'; 
public $property; 

public function getDefaultOption() 
{ 
    return 'property'; 
} 

public function getRequiredOptions() 
{ 
    return array('property'); 
} 

public function validatedBy() 
{ 
    return 'loc_article_validator_unique_alias'; 
} 

public function getTargets() 
{ 
    return self::CLASS_CONSTRAINT; 
} 

}

양식 오류는 나뭇 가지의 {{form_rest (form)}}을 통해 렌더링됩니다.

그래서 문제를 발견했습니다. 사용자 지정 제약 오류가 foreach를 통해 렌더링 될 수 없다는 것이 문제였습니다. 그들은

{{ form_errors(form) }} 

을 통해 렌더링 가야 내 나머지 질문은 지금 :

1) 나는 다른 모든 오류와 같은 사용자 정의 구속 오류를 렌더링 할 수 있습니까?

2.) Constrain을 확장하는 Custom 클래스에 CustomValidator 서비스의 별칭이 필요한 이유는 무엇입니까? 이 라인

public function getTargets() 
{ 
    return self::CLASS_CONSTRAINT; 
} 

으로

+0

답변을 찾으셨습니까? – Flukey

답변

1

당신은 클래스 제약 느릅 나무는 오류가 전체 양식의 상단에 표시하고 필드 옆에 없다는 것을 의미 제약 조건을 확인하십시오.

이, 당신의 검증 정의와 양식을 생성하는 폼 빌더 코드를 게시하시기 바랍니다 도움이되지 않는 경우 속성 제약

public function getTargets() 
{ 
    return self::PROPERTY_CONSTRAINT; 
} 

로 정의하십시오.

관련 문제