サーバー側の検証のために、 GUMP https://github.com/Wixel/GUMPをサイトに組み込みたいと思いました。残念ながら、ドキュメントは軽く、私は PHP を初めて使用します。
ここに私の検証コードがあります:
//Validation
$gump = new GUMP();
$rules = array(
'dept' => 'required|numeric',
'hosp' => 'required|numeric',
'subhosp' => 'required|numeric',
'user' => 'required|numeric',
'gpo' => 'required|boolean|exact_len,1',
'clin' => 'required|valid_name',
'clinmail' => 'required|valid_email',
'comp' => 'required|alpha_dash',
'cpt' => 'required|alpha_dash',
'past' => 'required|boolean|exact_len,1',
'latex' => 'required|boolean|exact_len,1',
);
$validated = $gump->validate($_POST,$rules);
print_r($validated); // Something went wrong
上記のコードからの出力は、FireBug で AJAX 応答を見ているときに、次のような配列を提供します。
Array
(
[0] => Array
(
[field] => clin
[value] => .-0
[rule] => validate_valid_name
)
[1] => Array
(
[field] => clinmail
[value] => %$sd
[rule] => validate_valid_email
)
)
そして、私が必要とするのは次のようなものです:
<div class="error-msg">You did not enter a valid email address</div><br>
<div class="error-msg">You did not enter a valid username</div><br>
私が得るドキュメントから:
if($validated === TRUE)
{
// Do something, everything went well
}
else
{
// This is where I am stuck. Do I have to loop through and put my <div> tags here?
}
私の質問は、コミュニティがこのクラスでエラー メッセージの出力をどのように処理するかということです。私の唯一の考えは、上記の結果をループし、フィールドと違反したルールに応じて異なるメッセージを出力するということですが、それは面倒なようです。スタンドアロンの PHP 入力検証を行うより良い方法または使用するより良いクラスはありますか? 非常に使いやすい別のクラスを使用していましたが、インライン PHP から AJAX に移行したときに壊れ始めました。