2015年6月1日月曜日

PHPでスタンドアローンの入力データ用バリデーションクラス「GUMP」

PHPでスタンドアローンの入力データ用バリデーションクラス「GUMP」を設定してみました。結構細かくチェックできます。ただし、エラーメッセージは英語になってしまいます。日本語化するのはちょっと面倒。ちなみに、GUMPは、Simple MVC Frameworkで採用されているようです。

$gump = new GUMP();

// サニタイズ
$_POST = $gump->sanitize($_POST);

// バリデーション
$gump->validation_rules(array(
  'username'  => 'required|alpha_numeric|max_len,100|min_len,6',
  'password'  => 'required|max_len,100|min_len,6',
  'email'     => 'required|valid_email',
  'gender'    => 'required|exact_len,1|contains,m f',
  'credit_card' => 'required|valid_cc'
));

// フィルター
$gump->filter_rules(array(
  'username' => 'trim|sanitize_string',
  'password' => 'trim',
  'email'  => 'trim|sanitize_email',
  'gender'   => 'trim',
  'bio'    => 'noise_words'
));

// runで、バリデーションとフィルターを両方行ってくれる
$validatedData = $gump->run($_POST);


if($validatedData === false) {
// エラーの場合
  $errors = $gump->get_errors_array();
  print_r($errors);
} else {
// OKの場合
  print_r($validatedData);
}

実際に設定してみたサイトがこちら


0 件のコメント:

コメントを投稿