私は1つのフォームを持っています。複数の検証エラーが発生した場合は、検証エラーを表示し、すべてのエラーを表示するか、フィールドに応じて表示する必要があります。PHPで必要なフィールドに応じてすべての検証エラーを表示するには?
たとえば、私は3つのフィールドName, Email
とMobile
を持っています。すべての情報が正しくない場合は、すべての検証エラーを1つずつ表示するか、いずれかのフィールドが正しくない場合は、1つの検証エラーを表示します。 私は欲しくないjQuery検証の助けを借りてエラーを表示することができます。 process.phpで
/*alert notification for script*/
$(".notification_reminder").fadeIn()
.css({top:-100,position:'absolute'})
.animate({top:20}, 800, function() {
//callback
});
.form-section
\t \t {
padding: 30px;}
.form-section input
{
margin: 10px;
}
.notification_section
{
position: relative;
z-index: 8;
}
.notification_reminder
{
font-size:15px;
width:350px;
padding: 15px;
background-color:#1D9365;
margin: 0 auto;
}
.notification_reminder p
{
color:#FF0;
padding:3px;
box-sizing: border-box;
display: initial;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<?php if(!empty($_GET['chk_name'])):
\t echo"
\t \t <div class='notification_section'>
\t \t <div class='notification_reminder'>
\t \t <p> Name required Min 3 and Max 20</p>
\t \t </div>
\t \t </div>";
endif;?>
<?php if(!empty($_GET['chk_email'])):
echo"
\t \t <div class='notification_section'>
\t \t <div class='notification_reminder'>
\t \t <p> Enter valid Email address</p>
\t \t <div class='cross_sign'><i class='fa fa-times' aria-hidden='true'></i></div>
\t \t </div>
\t \t </div>";
endif;?>
<?php if(!empty($_GET['chk_mobile'])):
echo"
\t \t <div class='notification_section'>
\t \t <div class='notification_reminder'>
\t \t <p> 10 numbers only</p>
\t \t <div class='cross_sign'><i class='fa fa-times' aria-hidden='true'></i></div>
\t \t </div>
\t \t </div>";
endif;?>
<div class="form-section">
<form action="process.php" method="post">
\t <input type="text" name="name" placeholder="Name"><br />
\t <input type="email" name="email" placeholder="email"><br />
\t <input type="text" name="mobile" placeholder="mobile"><br />
\t <input type="submit" name="submit" >
</form>
</div>
Process.php
if(isset($_POST['submit'])){
$name=$_POST['name'];
$email=$_POST['email'];
$mobile=$_POST['mobile'];
if ($name <3 || $name >20) {
header('Location: test2.php?chk_name=1');
}
if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
header('Location: test2.php?chk_email=1');
}
if(strlen($mobile)!=10 || !is_numeric($mobile)) {
header('Location: test2.php?chk_mobile=1');
}
私は、これは、単一の検証エラーを呼ぶ理由であるheader
を使用。他の方法はありますか?これで私を助けてくれますか?
正確な問題は何ですか? –