このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン 両方とも次のリビジョン | ||
apricot:app:validation [2020/05/14 23:26] y2sunlight [テスト実行] |
apricot:app:validation [2020/05/22 20:39] y2sunlight [ValidatorErrorBagクラス] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | > 編集中 | ||
- | |||
- | ----- | ||
- | |||
====== Apricot バリデーション ====== | ====== Apricot バリデーション ====== | ||
--- // | --- // | ||
行 21: | 行 17: | ||
* Apricot バリデーション | * Apricot バリデーション | ||
* [[apricot: | * [[apricot: | ||
- | * [[apricot: | + | * [[apricot: |
ユーザ登録画面にバリデーションの機能を追加します。 | ユーザ登録画面にバリデーションの機能を追加します。 | ||
行 28: | 行 24: | ||
===== バリデーター ===== | ===== バリデーター ===== | ||
- | Apricotでは [[basic-library: | + | Apricotでは [[basic-library: |
==== 言語ファイル ==== | ==== 言語ファイル ==== | ||
行 193: | 行 189: | ||
\\ | \\ | ||
- | ===== ValidatorErrorBagクラス ===== | + | ===== エラーバッグ |
- | コアの [[apricot: | + | ==== ValidatorErrorBagクラス ==== |
+ | |||
+ | コアの [[apricot: | ||
{{fa> | {{fa> | ||
行 226: | 行 224: | ||
* ''' | * ''' | ||
* 使用できるメソッドなど、機能的にはErrorBagクラスと全く同じです。 | * 使用できるメソッドなど、機能的にはErrorBagクラスと全く同じです。 | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== クラスエイリアス ==== | ||
\\ | \\ | ||
行 346: | 行 348: | ||
* withInputs()で入力変数をフラッシュ変数に保存します | * withInputs()で入力変数をフラッシュ変数に保存します | ||
* withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します | * withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します | ||
- | * redirect()ヘルパー関数を使って入力画面のレンダリングを返します | + | * redirect()で前画面にリダイレクトするResponseオブジェクトをします |
* 検証成功の時 | * 検証成功の時 | ||
* 不要になったバリデーション用のフォームデータを削除します | * 不要になったバリデーション用のフォームデータを削除します | ||
行 536: | 行 538: | ||
バリデーションを使ってみましょう。ユーザ一覧画面を表示します。 | バリデーションを使ってみましょう。ユーザ一覧画面を表示します。 | ||
- | [{{apricot: | + | [{{apricot: |
■ [新規]ボタンを押して下さい。 | ■ [新規]ボタンを押して下さい。 | ||
- | [{{apricot: | + | [{{apricot: |
■ 全て未入力の状態で、[保存]ボタンを押すとバリデーションが働き以下の画面が出ます。\\ | ■ 全て未入力の状態で、[保存]ボタンを押すとバリデーションが働き以下の画面が出ます。\\ | ||
- | [{{apricot: | + | [{{apricot: |
- | ■ \\ | + | ■ アカウントとパスワードの必須入力エラーエラーメッセージが表示されます。 |
- | ■ \\ | + | |
- | ■ \\ | + | |
- | ==== 様々なバリデーション | + | === 様々なバリデーション === |
- | 上例の他にユーザ新規登録画面では以下のバリデーション機能があります。 | + | ユーザ新規登録画面では以下の様々なバリデーション機能があります。試してみて下さい。 |
- | ■ \\ | + | * required — 必須入力(account, |
- | ■ \\ | + | * alphaNum — 半角英数入力(account) |
+ | * unique — ユニーク制約(account) | ||
+ | * ascii — 半角入力(password) | ||
+ | * equals — 確認入力(password = password_confirmation) | ||
+ | * email — メールアドレス(email) | ||
\\ | \\ | ||