PHPのバリデーションライブラリ「Wixel/GUMP」を設定してみました。 Laravelライク(?)な使い勝手で、すんなり導入できます。フィルターも用意されていて、至れり尽くせり。
実際に設定してみたのがこちら。
// 日本語ファイル(ja.php)を用意して、langフォルダの中に保存する
$lang = 'ja';
$gump = new GUMP($lang);
// バリデーション
$gump->validation_rules(array(
'username' =>'required|max_len,100|min_len,2',
'email' =>'required|valid_email',
));
// フィルター
$gump->filter_rules(array(
'username' =>'trim|sanitize_string',
'email' =>'trim|sanitize_email',
));
$validated_data = $gump->run($_POST);
if($validated_data === false) {
// NG
$errors = $gump->get_errors_array() ;
$app->render("contact.twig", compact('errors'));
} else {
// OK(バリデーションを通って、フィルターされたデータが取得できる)
print_r($validated_data);
}
実際に設定してみたのがこちら。