4
Symfony2에서 전체 엔티티의 복잡한 사용자 정의 유효성 검사를 수행 할 수 있어야합니다.Symfony2 전체 엔티티에 대한 유효성 확인
예 : 내 entity
많은 subentities
을 가지고 있으며, 모든 subentities
이 Symfony2는 단일 필드의 유효성을 확인 검사기 지금까지 내가 추측 할 수있는 100
에 합계해야합니까?
Symfony2에서 전체 엔티티의 복잡한 사용자 정의 유효성 검사를 수행 할 수 있어야합니다.Symfony2 전체 엔티티에 대한 유효성 확인
예 : 내 entity
많은 subentities
을 가지고 있으며, 모든 subentities
이 Symfony2는 단일 필드의 유효성을 확인 검사기 지금까지 내가 추측 할 수있는 100
에 합계해야합니까?
대답은 예입니다. 매개 변수가 아닌 오브젝트에 대한 제한 조건을 지정하고 클래스 레벨 제한 조건 인 제한 조건을 지정해야합니다. 다소 자세한 예는 이것이다 :
config.yml
validator.my.uniquename:
class: FQCN\To\My\ConstraintValidator
arguments: [@service_container]
tags:
- { name: validator.constraint_validator, alias: ConstraintValidator }
validation.yml
FQCN\To\My\Entity:
constraints:
- FQCN\To\MyConstraint: ~
내 제약
(이 예에서는 제약 없음 인수)namespace FQCN\To;
use
Symfony\Component\Validator\Constraint
;
/**
* @Annotation
*/
class MyConstraint extends Constraint
{
public $message = 'Constraint not valid';
public function validatedBy()
{
return 'ConstraintValidator';
}
public function getTargets()
{
# This is the important bit.
return self::CLASS_CONSTRAINT;
}
}
My ConstraintValidator
class MyConstraintValidator extends ConstraintValidator
{
protected $container;
function __construct($container)
{
$this -> container = $container;
}
function isValid($object, Constraint $constraint)
{
# validation here.
return true;
}
}
제약 조건 인 MyBundle \ Validator \ Constraint를 해결할 수있는 팁은 속성 또는 가져 오기 도구에 넣을 수 없습니까? – greg
@ 개체 및 향후 방문자를 위해 ABOVE 클래스 선언 위에 제약 조건 주석을 추가해야합니다. – keyboardSmasher
답변 작성시 더 정확한 결과를 제공하십시오. –