Ground Sunlight

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

ユーザ用ツール

サイト用ツール


apricot:app:validation

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:app:validation [2020/05/15 10:16]
y2sunlight [様々なバリデーション]
apricot:app:validation [2020/06/03 14:37] (現在)
tanaka [HTMLテンプレート]
行 17: 行 17:
     * Apricot バリデーション     * Apricot バリデーション
     * [[apricot:app:transaction|Apricot トランザクション]]     * [[apricot:app:transaction|Apricot トランザクション]]
-  * [[apricot:ext:top|Apricot 拡張]]+  * [[apricot:ext:middleware|Apricot 拡張]]
  
 ユーザ登録画面にバリデーションの機能を追加します。 ユーザ登録画面にバリデーションの機能を追加します。
行 189: 行 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 **
行 222: 行 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 のエイリアスを追加します。
  
 \\ \\
行 229: 行 263:
 Apricotではバリデーションをインターセプターの中に実装します。以下にインターセプターの作成方法について説明します。 Apricotではバリデーションをインターセプターの中に実装します。以下にインターセプターの作成方法について説明します。
  
->''インターセプター'' とはアクションの前処理の事で、ミドルウェアに似ていますが後処理はなく、各コントローラで独自に設定することができます。主な用途としては入力データの検証や変換です。本章では、インターセプターを直接アクションから呼び出していますが、後述の「Apricot 拡張: [[apricot:ext:interceptor|インターセプター]]では、アクションをインターセプターに依存しない形で実装します。+>''インターセプター'' とはアクションの前処理の事で、ミドルウェアに似ていますが後処理はなく、各コントローラで独自に設定することができます。主な用途としては入力データの検証や変換です。本章では、インターセプターを直接アクションから呼び出していますが、後述の「Apricot 拡張: [[apricot:ext:interceptor|インターセプター]]では、アクションをインターセプターに依存しない形で実装します。
  
 \\ \\
行 342: 行 376:
       * withInputs()で入力変数をフラッシュ変数に保存します       * withInputs()で入力変数をフラッシュ変数に保存します
       * withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します       * withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します
-      * redirect()ヘルパー関数を使って入力画面ンダリングします+      * redirect()で前画面にリダイクトするResponseオブジェクトをします
     * 検証成功の時     * 検証成功の時
       * 不要になったバリデーション用のフォームデータを削除します       * 不要になったバリデーション用のフォームデータを削除します
行 499: 行 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>
         ....         ....
  
行 532: 行 566:
 バリデーションを使ってみましょう。ユーザ一覧画面を表示します。 バリデーションを使ってみましょう。ユーザ一覧画面を表示します。
  
-[{{apricot:app:app05.png?nolink}}]+[{{apricot:app:app08.png?nolink}}]
 ■ [新規]ボタンを押して下さい。  ■ [新規]ボタンを押して下さい。 
  
-[{{apricot:app:app06.png?nolink}}]+[{{apricot:app:app09.png?nolink}}]
 ■ 全て未入力の状態で、[保存]ボタンを押すとバリデーションが働き以下の画面が出ます。\\  ■ 全て未入力の状態で、[保存]ボタンを押すとバリデーションが働き以下の画面が出ます。\\ 
  
-[{{apricot:app:app06.png?nolink}}] +[{{apricot:app:app10.png?nolink}}] 
-■ \\  +■ アカウントとパスワードの必須入力エラーエラーメッセージが表示されます。
-■ \\  +
-■ \\ +
  
 === 様々なバリデーション === === 様々なバリデーション ===
apricot/app/validation.1589505366.txt.gz · 最終更新: 2020/05/15 10:16 by y2sunlight