Symfony-validation
symfony-検証
検証は、アプリケーションを設計する際の最も重要な側面です。 着信データを検証します。 この章では、フォームの検証について詳しく説明します。
検証の制約
バリデータは、制約に対してオブジェクトを検証するように設計されています。 オブジェクトを検証する場合は、1つまたは複数の制約をそのクラスにマップしてから、それを検証サービスに渡します。 デフォルトでは、オブジェクトを検証するときに、対応するクラスのすべての制約がチェックされ、実際に通過するかどうかが確認されます。 symfonyは次の注目すべき検証制約をサポートします。
NotBlank
プロパティが空白ではないことを検証します。 その構文は次のとおりです-
このNotBlank制約は、studentNameプロパティが空白にならないようにします。
NotNull
値が厳密にnullと等しくないことを検証します。 その構文は次のとおりです-
Eメール
値が有効なメールアドレスであることを検証します。 その構文は次のとおりです-
無効です
値がnullと正確に等しいことを検証します。 その構文は次のとおりです-
長さ
指定された文字列の長さが最小値と最大値の間にあることを検証します。 その構文は次のとおりです-
範囲
指定された数値が最小値と最大値の間にあることを検証します。 その構文は次のとおりです-
Date
値が有効な日付であることを検証します。 有効なYYYY-MM-DD形式に従います。 その構文は次のとおりです-
選択
この制約は、指定された値が指定された有効な選択肢のセットの1つであることを保証するために使用されます。 また、アイテムの配列内の各アイテムがそれらの有効な選択肢の1つであることを検証するためにも使用できます。 その構文は次のとおりです-
ユーザーのパスワード
これにより、入力値が現在の認証済みユーザーのパスワードと等しいことが検証されます。 これは、ユーザーがパスワードを変更できるが、セキュリティのために古いパスワードを入力する必要があるフォームで役立ちます。 その構文は次のとおりです-
この制約は、古いパスワードがユーザーの現在のパスワードと一致することを検証します。
検証例
検証の概念を理解するための簡単なアプリケーション例を作成しましょう。
- ステップ1 *-検証アプリケーションを作成します。
次のコマンドを使用して、Symfonyアプリケーション validationsample を作成します。
ステップ2 *-ファイル *FormValidation という名前のエンティティを、“ src/AppBundle/Entity/” *ディレクトリの下の“ FormValidation.php” *に作成します。 ファイルに次の変更を追加します。
FormValidation.php
ステップ3 *-StudentControllerで *validateAction メソッドを作成します。 ディレクトリ*“ src/AppBundle/Controller” に移動し、“ studentController.php” *ファイルを作成して、その中に次のコードを追加します。
StudentController.php
ここでは、Formクラスを使用してフォームを作成し、フォームを処理しました。 フォームが送信され、有効な場合、フォーム検証済みメッセージが表示されます。 それ以外の場合、デフォルトのフォームが表示されます。
- ステップ4 *-StudentControllerで上記で作成したアクションのビューを作成します。 ディレクトリ「app/Resources/views/student/」*に移動します。 *「validatel.twig」*ファイルを作成し、その中に次のコードを追加します。
ここでは、フォームタグを使用してフォームを作成しました。
ステップ5 *-最後に、アプリケーション、 *http://localhost:8000/student/validate を実行します。