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/
関連記事
-
-
横スクロール可能な要素を視覚的に分かりやすくする「ScrollHint」ライブラリの利用方法
横長のtableを設置し、CSSのoverflowで横スクロール可能にしてもユー ...
-
-
JavaScriptライブラリChart.jsでグラフの描写する方法
JavaScriptでグラフを描写する必要があり、普段はHighchartを使用 ...
-
-
Push.jsを用いてプッシュ通知を実装&Web Audio APIで通知音も鳴らす方法
プッシュ通知(デスクトップ通知)を実装してみたい。また、通知の際は分かりやすいよ ...
-
-
PHPでシンプルな英数字のCAPTCHAを「Gregwar / Captcha」ライブラリで実装する方法
PHPでシンプルなランダム英数字のCAPTCHAを実装したい。「Gregwar ...
-
-
JavaScriptにてテキストボックスにサジェスト機能を実装できる「autoComplete.js」の利用方法
以前にjQuery UIでテキストボックスにサジェスト(入力補助)機能を実装する ...