Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


apricot:usage:ja:validation

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:usage:ja:validation [2020/08/28 09:00]
y2sunlight
apricot:usage:ja:validation [2020/09/03 13:46] (現在)
y2sunlight [Apricot バリデーション]
行 17: 行 17:
   * Apricot バリデーション   * Apricot バリデーション
   * [[apricot:usage:ja:provider|Apricot サービスプロバイダー]]   * [[apricot:usage:ja:provider|Apricot サービスプロバイダー]]
 +  * [[apricot:usage:ja:authentication|Apricot ユーザ認証]]
   * [[apricot:usage:ja:utility|Apricot ユーティリティ]]   * [[apricot:usage:ja:utility|Apricot ユーティリティ]]
  
行 267: 行 268:
 この例では、Input::all() で入力変数を取得した後に、それを使って ''Validator'' のインスタンスを生成します。 この例では、Input::all() で入力変数を取得した後に、それを使って ''Validator'' のインスタンスを生成します。
  
-バリデーションルールの適用には、''rule()'' メソッドを使います。''rule()'' メソッドに渡す第1引数はルール名、第2引数は入力変数変数名、第3引数以降はオプションでルールによって異なります。各バリデーションルールについては[[#バリデーションルール|以下]]を参照して下さい。+=== バリデーションルールの適用 ===
  
-labels() +バリデーションルール適用には、''rule()'' メソッドを使ます。''rule()'' メソッドに渡す第1引数はルル名、第2引数は入力変数変数名、第3引数以降はオプションでルルによって異なります。この例では、以下のバリデーションルールを使用しています。
- +
-エラー発生時のメッセージは「accountを入力してください」になります。「account」を「ユーザアカウント」のようなラベルに変更したい場合は、''labels()'' メソッドを使用して次のようにします。 +
- +
- +
-inputLabels()ボイラープレート +
- +
- +
- +
-バリデーションの実行には、''validate()'' メソッドを使用します。バリデーションが失敗した時、''errors()'' メソッドでバリデーションエラを取得し、それを withErrors() を使って [[apricot:usage:ja:validation#validatorerrorbagクラス|エラーバッグ]]としてフラッシュ変数に保存します。そして、redirect()で前画面にリダイレクトするレスポンスオブジェクトを生成しそれを返します。 +
- +
-この例では、以下のバリデーションルールを使用しています。 +
- +
-=== バリデーションルール ===+
  
   * ''required'' --- 必須入力   * ''required'' --- 必須入力
行 292: 行 280:
  
 この他の使用できるルールについては、Valitronの[[https://github.com/vlucas/valitron/blob/master/README.md|README]]の ''Built-in Validation Rules'' の項を参照して下さい。但し、''unique''ルールはApricotの[[#uniqueルール|カスタムルール]]です。 この他の使用できるルールについては、Valitronの[[https://github.com/vlucas/valitron/blob/master/README.md|README]]の ''Built-in Validation Rules'' の項を参照して下さい。但し、''unique''ルールはApricotの[[#uniqueルール|カスタムルール]]です。
 +
 +=== 入力変数のラベリング ===
 +
 +''labels()'' メソッドを使うと[[#エラーメッセージ]]で使用される入力変数にラベルを付けることができます。''labels()'' メソッドに渡す引数は、変数名とラベルの連想配列です。この連想配列を作成するのに ''inputLabels()'' ボイラープレートを使用すると便利です。''inputLabels('messages.user.create')'' の引数には、言語メッセージのドット表記キーを指定します。以下はこの例で使用している言語ファイルの内容です。
 +
 +{{fa>folder-open-o}} ** /your-project/asetts/lang/ja **
 +<code php messages.php>
 +<?php
 +return [
 +    'user'=>[
 +        'create'=>[
 +            'account'=>'アカウント',
 +            'password'=>'パスワード',
 +            'password_confirmation'=>'パスワード(確認)',
 +            'email'=>'メールアドレス',
 +        ],
 +    ],
 +];
 +</code>
 +
 +言語ファイル及び言語メッセージについては、[[apricot:usage:ja:frontend#多言語化]]を参照して下さい。
 +
 +=== バリデーションの実行 ===
 +
 +バリデーションの実行には、''validate()'' メソッドを使用します。バリデーションが失敗した時、''errors()'' メソッドでバリデーションエラーを取得し、それを withErrors() を使って [[apricot:usage:ja:validation#validatorerrorbagクラス|エラーバッグ]]としてフラッシュ変数に保存します。そして、redirect()で前画面にリダイレクトするレスポンスオブジェクトを生成しそれを返します。
  
 \\ \\
  
apricot/usage/ja/validation.1598572803.txt.gz · 最終更新: 2020/08/28 09:00 by y2sunlight