Ground Sunlight

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

ユーザ用ツール

サイト用ツール


apricot:app:validation

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:app:validation [2020/05/15 09:30]
y2sunlight [テスト実行]
apricot:app:validation [2020/06/03 14:37] (現在)
tanaka [HTMLテンプレート]
行 1: 行 1:
-> 編集中 
- 
------ 
- 
 ====== Apricot バリデーション ====== ====== Apricot バリデーション ======
  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-14//  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-14//
行 21: 行 17:
     * Apricot バリデーション     * Apricot バリデーション
     * [[apricot:app:transaction|Apricot トランザクション]]     * [[apricot:app:transaction|Apricot トランザクション]]
-  * [[apricot:ext:top|Apricot 拡張]]+  * [[apricot:ext:middleware|Apricot 拡張]]
  
 ユーザ登録画面にバリデーションの機能を追加します。 ユーザ登録画面にバリデーションの機能を追加します。
行 193: 行 189:
 \\ \\
  
-===== ValidatorErrorBagクス =====+===== ーバッグ =====
  
-コアの [[apricot:core:basic-class#ーバッグ|ErrorBagクラス]] を継承してバリデーション用のエラーバッグ( ValidatorErrorBag )を作ります。+==== ValidatorErrorBagクラス ==== 
 + 
 +コアの [[apricot:core:basic-class#ErrorBagク|ErrorBagクラス]] を継承してバリデーション用のエラーバッグ( ValidatorErrorBag )を作ります。
  
 {{fa>folder-open-o}} ** /apricot/app/Foundation ** {{fa>folder-open-o}} ** /apricot/app/Foundation **
行 226: 行 224:
   * '''validator''' と言う名前でエラーバッグを生成します。   * '''validator''' と言う名前でエラーバッグを生成します。
   * 使用できるメソッドなど、機能的にはErrorBagクラスと全く同じです。   * 使用できるメソッドなど、機能的にはErrorBagクラスと全く同じです。
 +
 +\\
 +
 +==== クラスエイリアス ====
 +
 +ValidatorErrorBagクラスを[[apricot:app:top#クラスエイリアス|クラスエイリアス]]に追加します。
 +
 +{{fa>folder-open-o}} ** /apricot/config/setup **
 +<code php aliases.setup.php>
 +<?php
 +//-------------------------------------------------------------------
 +// ビューテンプレートで使うクラスエイリアスを登録
 +//-------------------------------------------------------------------
 +return function():bool
 +{
 +    $aliases =
 +    [
 +        /* Core */
 +        ...
 +
 +        /* App */
 +        'ViewHelper' => \App\Helpers\ViewHelper::class,
 +        'ValidatorErrorBag' => \App\Foundation\ValidatorErrorBag::class,
 +    ];
 +
 +    ...
 +
 +    return true; // Must return true on success
 +};
 +</code>
 +
 +  * ViewHelper の下に ValidatorErrorBag のエイリアスを追加します。
  
 \\ \\
行 233: 行 263:
 Apricotではバリデーションをインターセプターの中に実装します。以下にインターセプターの作成方法について説明します。 Apricotではバリデーションをインターセプターの中に実装します。以下にインターセプターの作成方法について説明します。
  
->''インターセプター'' とはアクションの前処理の事で、ミドルウェアに似ていますが後処理はなく、各コントローラで独自に設定することができます。主な用途としては入力データの検証や変換です。本章では、インターセプターを直接アクションから呼び出していますが、後述の「Apricot 拡張: [[apricot:ext:interceptor|インターセプター]]では、アクションをインターセプターに依存しない形で実装します。+>''インターセプター'' とはアクションの前処理の事で、ミドルウェアに似ていますが後処理はなく、各コントローラで独自に設定することができます。主な用途としては入力データの検証や変換です。本章では、インターセプターを直接アクションから呼び出していますが、後述の「Apricot 拡張: [[apricot:ext:interceptor|インターセプター]]では、アクションをインターセプターに依存しない形で実装します。
  
 \\ \\
行 346: 行 376:
       * withInputs()で入力変数をフラッシュ変数に保存します       * withInputs()で入力変数をフラッシュ変数に保存します
       * withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します       * withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します
-      * redirect()ヘルパー関数を使って入力画面ンダリングします+      * redirect()で前画面にリダイクトするResponseオブジェクトをします
     * 検証成功の時     * 検証成功の時
       * 不要になったバリデーション用のフォームデータを削除します       * 不要になったバリデーション用のフォームデータを削除します
行 503: 行 533:
  
 {{fa>folder-open-o}} ** /apricot/assets/views/user ** {{fa>folder-open-o}} ** /apricot/assets/views/user **
-<code php create.blade.php>+<code php edit.blade.php>
         ....         ....
  
行 543: 行 573:
  
 [{{apricot:app:app10.png?nolink}}] [{{apricot:app:app10.png?nolink}}]
-■ 必須入力(account, password)のバリデションエラーが表示されます。+■ アカウントとパスワードの必須入力エラーエラーメッセージが表示されます。
  
 === 様々なバリデーション === === 様々なバリデーション ===
  
-上例のようにユーザ新規登録画面では以下のバリデーション機能があるので試して下さい。+ユーザ新規登録画面では以下の様々なバリデーション機能があります。試してみて下さい。 
 + 
 +  * required — 必須入力(account, password) 
 +  * alphaNum — 半角英数入力(account) 
 +  * unique — ユニーク制約(account) 
 +  * ascii — 半角入力(password) 
 +  * equals — 確認入力(password = password_confirmation) 
 +  * email — メールアドレス(email)
  
-    * ''required'' --- 必須入力(account, password) 
-    * ''alphaNum'' --- 半角英数入力(account) 
-    * ''unique'' --- ユニーク制約(account) 
-    * ''ascii'' --- 半角入力(password) 
-    * ''equals'' --- 確認入力(password = password_confirmation) 
-    * ''email'' --- メールアドレス(email) 
 \\ \\
  
apricot/app/validation.1589502606.txt.gz · 最終更新: 2020/05/15 09:30 by y2sunlight