このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 最新のリビジョン 両方とも次のリビジョン | ||
apricot:app:validation [2020/05/15 09:30] y2sunlight [テスト実行] |
apricot:app:validation [2020/05/25 11:25] y2sunlight [インターセプター] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | > 編集中 | ||
- | |||
- | ----- | ||
- | |||
====== Apricot バリデーション ====== | ====== Apricot バリデーション ====== | ||
--- // | --- // | ||
行 21: | 行 17: | ||
* Apricot バリデーション | * Apricot バリデーション | ||
* [[apricot: | * [[apricot: | ||
- | * [[apricot: | + | * [[apricot: |
ユーザ登録画面にバリデーションの機能を追加します。 | ユーザ登録画面にバリデーションの機能を追加します。 | ||
行 193: | 行 189: | ||
\\ | \\ | ||
- | ===== ValidatorErrorBagクラス ===== | + | ===== エラーバッグ |
- | コアの [[apricot: | + | ==== ValidatorErrorBagクラス ==== |
+ | |||
+ | コアの [[apricot: | ||
{{fa> | {{fa> | ||
行 226: | 行 224: | ||
* ''' | * ''' | ||
* 使用できるメソッドなど、機能的にはErrorBagクラスと全く同じです。 | * 使用できるメソッドなど、機能的にはErrorBagクラスと全く同じです。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== クラスエイリアス ==== | ||
+ | |||
+ | ValidatorErrorBagクラスを[[apricot: | ||
+ | |||
+ | {{fa> | ||
+ | <code php aliases.setup.php> | ||
+ | <?php | ||
+ | // | ||
+ | // ビューテンプレートで使うクラスエイリアスを登録 | ||
+ | // | ||
+ | return function(): | ||
+ | { | ||
+ | $aliases = | ||
+ | [ | ||
+ | /* Core */ | ||
+ | ... | ||
+ | |||
+ | /* App */ | ||
+ | ' | ||
+ | ' | ||
+ | ]; | ||
+ | |||
+ | ... | ||
+ | |||
+ | return true; // Must return true on success | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | * ViewHelper の下に ValidatorErrorBag のエイリアスを追加します。 | ||
\\ | \\ | ||
行 233: | 行 263: | ||
Apricotではバリデーションをインターセプターの中に実装します。以下にインターセプターの作成方法について説明します。 | Apricotではバリデーションをインターセプターの中に実装します。以下にインターセプターの作成方法について説明します。 | ||
- | >'' | + | >'' |
\\ | \\ | ||
行 346: | 行 376: | ||
* withInputs()で入力変数をフラッシュ変数に保存します | * withInputs()で入力変数をフラッシュ変数に保存します | ||
* withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します | * withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します | ||
- | * redirect()ヘルパー関数を使って入力画面のレンダリングを返します | + | * redirect()で前画面にリダイレクトするResponseオブジェクトをします |
* 検証成功の時 | * 検証成功の時 | ||
* 不要になったバリデーション用のフォームデータを削除します | * 不要になったバリデーション用のフォームデータを削除します | ||
行 543: | 行 573: | ||
[{{apricot: | [{{apricot: | ||
- | ■ 必須入力(account, password)のバリデーションエラーが表示されます。 | + | ■ アカウントとパスワードの必須入力エラーエラーメッセージが表示されます。 |
=== 様々なバリデーション === | === 様々なバリデーション === | ||
- | 上例のようにユーザ新規登録画面では以下のバリデーション機能があるので試して下さい。 | + | ユーザ新規登録画面では以下の様々なバリデーション機能があります。試してみて下さい。 |
+ | |||
+ | * required — 必須入力(account, | ||
+ | * alphaNum — 半角英数入力(account) | ||
+ | * unique — ユニーク制約(account) | ||
+ | * ascii — 半角入力(password) | ||
+ | * equals — 確認入力(password = password_confirmation) | ||
+ | * email — メールアドレス(email) | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
\\ | \\ | ||