PHPの入力チェックライブラリであるRespect/Validationを使ってみる

Published: 2017年1月24日 by tomsato

概要

ユーザーから入力された値が問題ないかチェックするバリデーション処理を行うためのPHPライブラリであるRespect/Validationについて触ってみる

バリデーション条件も多数あってそれを直感的に使用することができるため導入コストが少ないものとなっている

GHE:https://github.com/Respect/Validation

とりあえず使ってみる

composer install

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

respoect/validation準備

$ mkdir validation_sample && cd validation_sample
$ composer require respect/validation

サンプルプログラム準備

$ cat SampleApp.php
<?php
require __DIR__ . '/vendor/autoload.php';
use Respect\Validation\Validator as v;

// 数字かどうかチェック
if (v::numeric()->validate(123)) {
	echo "Input Success !!\n";
} else {
	echo "Input Failed !!\n";
}
// 文字列かどうか
if (v::stringType()->validate(1)) {
	echo "Input Success !!\n";
} else {
	echo "Input Failed !!\n";
}

サンプルを実行すると意図したチェックが行われていることがわかる

$ php SampleApp.php
Input Success !!
Input Failed !!

Respect/Validationでできること

バリデーションチェック項目例

  • 整数であるか (IntVal)
  • 文字列であるか (StringType)
  • Bool型であるか (BoolType)
  • 日付であるか (Date)
  • Emailアドレスの書式か (Email)
  • 数値が~以上/以下であるか (Min,Max)
  • 決められた文字列を受け取っているか (In)

ここで紹介したものはほんの一部であり他にも多数のチェック条件が存在する

https://github.com/Respect/Validation/tree/master/docs
respect/validationドキュメントを見てもらうとわかるが
直感的にどんなチェックなのかがわかって、使い方も乗っているのでわかりやすい

PHP

コメントを書く

※ Emailは公開されません

※ コメントは承認されると下記に表示されます

コメント一覧

最近の投稿

Vue.js / Nuxt.jsにおけるログインの実装方法をまとめる Auth0やNuxt.jsのAuth Moduleとmiddlewareについて調べつつサンプルを作成することで理解を深める

コンポーネント設計について考える Atomic DesignやPresentational Component, Container Componentについてまとめつつ 自分だったらVue.js / Nuxt.jsでどういうコンポーネント設計にするかについてまとめます

Netlify Formsを使ってブログサイトにコメント機能を追加する方法を調べたので紹介 Netlify FormsはNetlifyに標準機能として用意されているフォーム機能 サーバレスなので別途コメント用にサーバを用意する必要がなくHTMLを埋め込むだけで準備できる

TypeScriptの入門の入門チートシート 型の種類や使い方についてまとめていくだけでなく、 TypeScriptについてや必要性などについてもまとめることでこのページでTypeScriptをざっくり理解できる程度の内容を目指す

NetlifyのFormsやSplit Testing、Functionsについて使い方をまとめる FormsはNetlifyに標準機能として用意されているフォーム機能でコメント保存用にサーバを用意する必要がない Split TestingはGitHubのブランチをベースにしたA/Bテストを行うための機能のことで、FunctionsはNetlifyでAWS Lambdaを使うことができる

カテゴリ一覧

タグ一覧