フィールドの制約アノテーションを別のフィールドと比較して検証する
P粉321676640
P粉321676640 2023-07-23 17:52:28
0
1
556
<p>Symfony/5.4 には次のエンティティ クラスがあります:</p> <pre class="brush:php;toolbar:false;">DoctrineORMMaping を ORM として使用します。 SymfonyComponentValidatorConstraints をアサートとして使用します。 クラス割り当て { public const SALARY_RANGES = [ '赤'、 '緑'、 ヌル、 ]; /*** @ORMColumn(長さ=255、nullable=true) * @AssertChoice(choices=Assignments::SALARY_RANGES, strict=true)*/ プライベート ?文字列 $salaryRange; /*** @ORMManyToOne(targetEntity="従業員", inversedBy="割り当て") * @ORMJoinColumn(name="employee_id", ReferencedColumnName="id", onDelete="CASCADE")*/ プライベート ?従業員 $従業員; }</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粉321676640
P粉321676640

全員に返信(1)
P粉107991030

ドキュメントに従ってください。

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

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート