>  Q&A  >  본문

다른 필드에 대해 필드의 제약 조건 주석 유효성을 검사합니다.

<p>Symfony/5.4에 다음 엔터티 클래스가 있습니다.</p> <pre class="brush:php;toolbar:false;">DoctrineORMMapping을 ORM으로 사용합니다. SymfonyComponentValidatorConstraints를 Assert로 사용합니다. 수업과제 { 공개 const SALARY_RANGES = [ '빨간색', '녹색', 없는, ]; /*** @ORMColumn(길이=255, nullable=true) * @AssertChoice(choices=Assignments::SALARY_RANGES, strict=true)*/ 개인용?string $salaryRange; /*** @ORMManyToOne(targetEntity="Employee", inversedBy="할당") * @ORMJoinColumn(name="employee_id", referencedColumnName="id", onDelete="CASCADE")*/ 개인 ?직원 $employee; }</pre> <p>employee가 null이 아닌 경우 SalaryRange가 null이 아닌 값을 가지며 그 반대의 경우도 마찬가지인지 확인해야 합니다. 이 요구 사항을 적용하기 위해 제약 조건 주석을 사용할 수 있습니까?</p> <p>@AssertCallback을 사용하려고 했지만 다른 필드의 값을 가져오는 방법을 알 수 없습니다. 어쩌면 그것은 올바른 도구가 아닐 수도 있습니다. </p> <pre class="brush:php;toolbar:false;">/*** @AssertCallback({"ExampleValidator", "assertEmployeeOnlyCallback"})*/</pre> <pre class="brush:php;toolbar:false;">공용 정적 함수 AssertEmployeeOnlyCallback(mixed $data, ExecutionContextInterface $context): void { // `$data`에는 `salaryRange`의 값이 포함되어 있지만 `employee`는 어디에 있습니까? }</pre> <p><br /></p>
P粉321676640P粉321676640476일 전533

모든 응답(1)나는 대답할 것이다

  • P粉107991030

    P粉1079910302023-07-24 10:28:57

    문서를 따르세요.

    https://symfony.com/doc/5.3/reference/constraints/Callback.html

    으아악

    회신하다
    0
  • 취소회신하다