Ground Sunlight

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

ユーザ用ツール

サイト用ツール


basic-library:valitron:1.4

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
basic-library:valitron:1.4 [2020/04/18 10:53]
y2sunlight [バリデーター - Valitron]
basic-library:valitron:1.4 [2020/07/13 09:51] (現在)
y2sunlight [バリデーター - Valitron]
行 1: 行 1:
-> TODO: 編集中 
- 
------ 
- 
 ====== バリデーター - Valitron ====== ====== バリデーター - Valitron ======
 Version 1.4 ([[https://github.com/vlucas/valitron/blob/master/LICENSE.txt|BSD 3-Clause License]]) Version 1.4 ([[https://github.com/vlucas/valitron/blob/master/LICENSE.txt|BSD 3-Clause License]])
行 16: 行 12:
   * [[basic-library:idiorm:1.5|ORマッパー - Idiorm]]   * [[basic-library:idiorm:1.5|ORマッパー - Idiorm]]
   * [[basic-library:bladeone:3.37|テンプレートエンジン - BladeOne]]   * [[basic-library:bladeone:3.37|テンプレートエンジン - BladeOne]]
 +  * [[basic-library:fast-route:1.3|リクエストルーター - FastRoute]]
   * [[basic-library:league-container:3.3|DIコンテナー - League/Container]]   * [[basic-library:league-container:3.3|DIコンテナー - League/Container]]
   * バリデーター - Valitron   * バリデーター - Valitron
行 33: 行 30:
 ===== Valitron について ===== ===== Valitron について =====
  
-> TODO:+Webアプリケーションの世界では [[https://developer.mozilla.org/ja/docs/Learn/HTML/Forms/Form_validation|HTML5]]や[[https://jqueryvalidation.org/|jquery]]によるクライアントサイドのバリデーション環境が強力になったきたとは言え、はやりサーバーサイドのバリデーションはデータの正確性と完全性を保つ上で必要不可欠な存在(最後の砦)です。バリデーションをPHP言語に標準装備されている関数群だけで自力作成することも難しくはありませんが、やはり必要最低限のものはライブラリとして揃えておきたいものです。 
 + 
 +但し、バリデーターが機能を重視する余りに他のパッケージと依存関係の為に付随する大量の追加ファイルを取り込むことは避けたいと思います(これは本編のApricotの思想に反します)。そこで、いろいろ探したところ、Apricotの思いにピッタリのものを見つけました。それが ''Valitron'' です。Valitronはとてもシンプルなバリデーターライブラリで、他のパッケージなどとの依存関係もありません。また、その作者がApricotの環境変数ライブラリとして使っている[[https://github.com/vlucas/phpdotenv|phpdotenv]]の作者と同じ[[https://vancelucas.com/|Vance Lucas氏]]であったことも選定理由の1つになりました。実際に使った見ると、本当にシンプルで使いやすく、バリデーションのカスタムルールームも簡単に追加でき、Apricotにとっては将に「水魚の交わり」と言ったところでしょうか。Lucas氏に感謝です。 
  
 ===== インストール ===== ===== インストール =====
行 42: 行 42:
  
 <code> <code>
-TODO:+Using version ^1.4 for vlucas/valitron 
 +./composer.json has been updated 
 +Loading composer repositories with package information 
 +Updating dependencies (including require-dev) 
 +Package operations1 install, 0 updates, 0 removals 
 +  - Installing vlucas/valitron (v1.4.7): Loading from cache 
 +Writing lock file 
 +Generating autoload files 
 +1 package you are using is looking for funding. 
 +Use the `composer fund` command to find out more!
 </code> </code>
  
行 62: 行 71:
 ===== テストプログラム ===== ===== テストプログラム =====
  
-TODO:+パッケージのテストフォルダ(test\)に、テスト用のコード(valitron.php)を作成します。この例はgithubに記載されているものと同等です。フォームからPostされてくる''name''と言う名前のデータに''required''(必須)という名のルールを適用しています。バリデーションのルールをrule()で設定した後は、validate()で検証して、結果がfalseならエラー内容をerrors()で取り出します。 
 + 
 +<code php valitron.php> 
 +<?php 
 +require __DIR__.'/../vendor/autoload.php'; 
 + 
 +$v = new Valitron\Validator(array('name' => 'Chester Tester')); 
 +$v->rule('required', 'name'); 
 +if($v->validate()) 
 +
 +    echo "Yay! We're all good!"; 
 +
 +else 
 +
 +    // Errors 
 +    print_r($v->errors()); 
 +
 +</code> 
 + 
 +=== 実行結果(成功の場合) === 
 +<code> 
 +Yay! We're all good! 
 +</code> 
 + 
 +=== 実行結果(失敗の場合) === 
 +<code> 
 +Array ( [name] => Array ( [0] => Name is required ) ) 
 +</code> 
 + 
 +エラーの場合のメッセージは言語毎に設定できるように配慮されており、バリデーションルールの追加も簡単に出来るようになっています。仔細はの[[https://github.com/vlucas/valitron|github]]をご覧下さい。尚、お分かりとは思いますが、実際には上例のValidatorをnewする際は以下のようになります。 
 + 
 +<code php> 
 +$v = new Valitron\Validator($_POST); 
 +</code> 
 + 
 +\\ 
  
basic-library/valitron/1.4.1587174818.txt.gz · 最終更新: 2020/04/18 10:53 by y2sunlight