フォームは、PHPメンターズの設計と実装の型で述べているように、アプリケーションレイヤーにて実装されます。今回はフォームのバリデーションの拡張についてとりあげます。 バリデーションの仕組みの基本ユーザーが入力した値を受け取り、アプリケーションのフォームでその入力を表すオブジェクト(フォームのデータを格納する入れ物、フォームDTO: Data Transfer Objectと名づけます)が組み立てられます。このフォームDTOの持つデータが妥当かどうかをチェックするのがバリデーションの役割です。 バリデーションはフォームDTOに対して行われるため、SymfonyではフォームDTOクラスにバリデーションの定義を記述します。 class Author { /** * @Assert\NotBlank() * @Assert\Length(min = "3") */ private $firstNa
![Practical Symfony #23: ドメインの知識を使ったフォームバリデーション](https://cdn-ak-scissors.b.st-hatena.com/image/square/9550e074dfa769ef6dd4050959b00608dffe7a99/height=288;version=1;width=512/https%3A%2F%2F64.media.tumblr.com%2Fc5cc039484b7c95b41c615b0ef43c3de%2Ftumblr_inline_pk0kgvtR9W1qzanrq_500.png)