PHPのバリエーションライブラリ「Valitron」の導入及び利用方法
フォーム等の入力内容チェックをPHP側で行う際、現状は素のPHPで書いているけどこれが面倒くさい。お手軽に導入できて学習コストも少なそうなライブラリを探したところValitronがcomposer無しでも導入でき、割とシンプルっぽいので良さそう。以下に導入及び利用方法をメモ。
目次
Valitron
公式サイト
https://github.com/vlucas/valitron
インストール
composerを利用する場合
サーバにSSH接続し以下コマンドでインストールする。
composer require vlucas/valitron
composerを利用しない場合
公式ページからファイル一式をzipでダウンロードし展開する。「src」「lang」ディレクトリを丸ごと適当なディレクトリにアップロードする。尚、今回はこちらの方法で導入した。
尚、ディレクトリ構成は以下のような形。
root/ ├lang/ ├src/ └index.php
利用方法
基本的な使い方
基本的には以下のような使い方になる。ルール名については公式ページを参照すること。
//1つのフィールドにルールを適用する場合 $検証->rule('ルール名', 'フィールド名'); //2つ以上のフィールドにルールを適用する場合 $検証->rule('ルール名', ['フィールド名1', 'フィールド名2', ...]);
サンプル
<?php require_once './src/Valitron/Validator.php'; $data = array( 'name' => '鈴木鈴木鈴木鈴木鈴木鈴木', 'mail' => 'testtest.com', ); //日本語化 Valitron\Validator::lang('ja'); //インスタンスを生成 $validation = new Valitron\Validator($data); //項目名を設定 $validation->labels([ 'name' => '名前', 'mail' => 'メールアドレス' ]); //バリデーションルール $validation->rule('required', ['name', 'mail'])->message('{field}は必須項目です。'); $validation->rule('lengthMax', ['name', 'kana'], 10)->message('入力可能な文字数は10字までです。'); $validation->rule('email', 'mail')->message('正しいメールアドレス形式で入力してください。'); //エラー内容の出力 if( !$validation->validate() ){ var_dump($validation->errors()); }
上記を実行すると以下がvar_dumpで出力される筈。
array(2) { ["name"]=> array(1) { [0]=> string(47) "入力可能な文字数は10字までです。" } ["mail"]=> array(1) { [0]=> string(66) "正しいメールアドレス形式で入力してください。" } }
参考サイト
https://oopsoop.com/form-validation-with-valitron/
関連記事
-
Composer無し&ファイル1枚でPHPのエラーメッセージ画面をリッチにするライブラリ「PHP Error」の利用方法
先日PHPのエラーメッセージを見やすくするwhoopsの利用方法をメモしたが導入 ...
-
PHPでExcelシートを出力する方法(PhpSpreadsheet)
PHPでエクセルシートを出力させたい。以前はPHPExcelを利用していたが現在 ...
-
PHPでデータベースを取り扱いやすくなるORMライブラリ「idiorm」の利用方法
Codeigniterでデータベースを取り扱う際にクエリビルダクラスを用いて可読 ...
-
PHPのHTTPクライアント用ライブラリ「Guzzle」の利用方法
以前に「Requests for PHP」を試したが、似たようなライブラリで「G ...
-
PHPで簡単にカレンダーを生成できるライブラリ「PHP Calendar」の利用方法
PHPでカレンダーを描写したいということがたまにある。今までバニラPHPで書いて ...