1
제 질문은 심포니 검사기 구성 요소와 관련이 있습니다. 나는 양식을 사용하지 않습니다. 그리고 각 엔티티에 대한 유효성 검사 규칙을 분리 된 클래스 (AuthorVlidator, BookingValidator 등)로 옮기고 싶습니다. 분리 된 클래스로 이동하고 규칙을 정의하려면 어떻게해야합니까?심포니 검사기
감사합니다.
제 질문은 심포니 검사기 구성 요소와 관련이 있습니다. 나는 양식을 사용하지 않습니다. 그리고 각 엔티티에 대한 유효성 검사 규칙을 분리 된 클래스 (AuthorVlidator, BookingValidator 등)로 옮기고 싶습니다. 분리 된 클래스로 이동하고 규칙을 정의하려면 어떻게해야합니까?심포니 검사기
감사합니다.
왜 분리 된 클래스로 옮기시겠습니까? 주석을 사용하면 쉽게 사용할 수 있습니다.
그것은 그것을 할 수있는 좋은 생각이 아니다,하지만 당신이 정말로 다른 클래스에서 작업을 수행하려는 경우, 당신은 당신이 유효성을 검사 할 각 클래스에서이 방법을 추가 할 수 있습니다
class YourObject
{
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
YourObjectValidator::validate($this, $metadata);
}
}
과 :
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\NotBlank;
class YourObjectValidator
{
public static function validate(YourObject $object, ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('name', new NotBlank());
}
}
속성 값에 따라 추가 유효성 검사를 위해이 논리를 분리하려면 적절한 방법이 아닙니다. 문서를 읽어야합니다. callback이 해결책이 될 수 있습니다.
정확하게 이해하면 [유효성 검사 그룹] (http://symfony.com/doc/current/book/validation.html#validation-groups) –
을 찾고 있습니다. Validator 클래스에 유효성 검사 구성 요소를 삽입하고 그걸 가지고있어. 멋지게 될 필요가 없습니다. – Cerad