0

http://bassistance.de/jquery-plugins/jquery-plugin-validation/バリデーターを使用してクライアント側で検証されるフォーム (名、姓など) があります。次に、ajax serialize() を使用してフォーム フィールドをサーバーに投稿していますが、サーバー側の検証のために誰かがクラス (またはクラスへのリンク) を共有できるかどうか疑問に思っていました。

http://www.html-form-guide.com/php-form/php-form-validation.htmlを使用してみましたが、このクラスは検証を適用するフォーム フィールドの名前を期待しているようです。

ありがとう

4

2 に答える 2

0

そのライブラリは、フォームの名前を必要としません。彼らがあなたに与えた例を見ると、彼らは入力フィールドの名前だけを使用しています。

<?PHP
require_once "formvalidator.php";
$show_form=true;
if(isset($_POST['Submit']))
{
    $validator = new FormValidator();
    $validator->addValidation("Name","req","Please fill in Name");
    $validator->addValidation("Email","email",
"The input for Email should be a valid email value");
    $validator->addValidation("Email","req","Please fill in Email");
    if($validator->ValidateForm())
    {
        echo "<h2>Validation Success!</h2>";
        $show_form=false;
    }
    else
    {
        echo "<B>Validation Errors:</B>";

        $error_hash = $validator->GetErrors();
        foreach($error_hash as $inpname => $inp_err)
        {
          echo "<p>$inpname : $inp_err</p>\n";
        }
    }
}

if(true == $show_form)
{
?>
<form name='test' method='POST' action='' accept-charset='UTF-8'>
Name: <input type='text' name='Name' size='20'>
Email: <input type='text' name='Email' size='20'>
<input type='submit' name='Submit' value='Submit'>
</form>
<?PHP
}//true == $show_form
?>

フォームの名前は「テスト」です。チェックされていません。ソース コードを投稿して、誰かが問題の原因を特定できるようにしてください。

その他のライブラリについては、次の投稿をチェックアウトすることもできます - PHP 用の最も簡単なフォーム検証ライブラリ?

于 2013-04-03T03:52:56.653 に答える
0

...わかりました。渡された値をサニタイズして、悪いものが通過しないようにする場合は、ここを参照してください: http://php.net/manual/en/filter.filters.sanitize.php

あらかじめ設定されたルールに基づく「検証」をお探しの場合は、ご指定ください。

基本的な文字のみが必要な場合は、このように渡された値を部分的に滅菌することもできます。設定:

function sterilize($input) {

$input = htmlentities($input);

$input = strip_tags($input);

    return $input;

}

参考までに、以下で言及したように、メールアドレスについては、次のようなものを使用できます。

$email = isset($_POST['email']) ? filter_var($_POST['email'], FILTER_SANITIZE_EMAIL): '';
于 2013-04-03T03:53:45.923 に答える