AJJ*_*AJJ 0 javascript php forms validation
我有一些javascript和php代码编写来验证字段.这两个代码都用于验证字段是否为空,是否在35个字符的限制内,并且只包含字母字符和连字符( - ).我想要做的是同时javascript和php同时验证并显示它们是用于输入不正确数据的消息但是由于警报弹出但没有显示消息的事实,它似乎只是正确验证了javascript php方面.这是我的代码:
<script type="text/javascript">
function validateFamily()
{
var family=document.getElementById('family');
var stringf = document.getElementById('family').value;
var ck_password = /^[A-Za-z-]/;
if (family.value=="")
{
alert("Family name must be filled out");
return false;
}
else if (document.getElementById('family').value.length > 35)
{
alert("Family name cannot be more than 35 characters");
return false;
}
else if(!ck_password.test(stringf))
{
alert("Family name can only contain alphabetic characters and hypehns(-)");
return false;
}
return true;
}
</script>
<?php
if (isset($_POST['submit'])) {
$flagf = false;
$badcharf = "";
$stringf = $_POST["family"];
$stringf = trim($stringf);
$lengthf = strlen($stringf);
$strmsgf = "";
if ($lengthf == 0) {
$strmsgf = '<span class="error"> Please enter family name</span>';
$flagf = true;}
else if ($lengthf > 35) {
$strmsgf = '<span class="error"> Can not enter more than 35 characters</span>';
$flagf = true;}
else {
for ($if=0; $if<$lengthf;$if++){
$cf = strtolower(substr($stringf, $if, 1));
if (strpos("abcdefghijklmnopqrstuvwxyz-", $cf) === false){
$badcharf .=$cf;
$flagf = true;
}
}
if ($flagf) {
$strmsgf = '<span class="error"> The field contained the following invalid characters: '.$badcharf.'</span>';}
}
if (!$flagf) {
$strmsgf = '<span class="error"> Correct!</span>';}
}
?>
<form name="eoiform" method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>" id="eoi" onsubmit="return validateFamily() && validateGiven() && validateMaleFemale() && validDate() && validateAddress() && validatePost() && validateParent() && validateWork() && validateHome() && validateMob() && validateCheckBoxes() && validateTextBoxes();">
<b>Student's Family Name</b>
<br>
<input type="text" id="family" name="family" /><?php echo $strmsgf; ?>
<input type="submit" name="submit" id="submit" value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我这个吗?
因为前者发生在用户的浏览器在JavaScript和PHP不能同时执行之前张贴的形式,后者发生后,一旦形式到达服务器这一点.
您可以通过在浏览器中检查网页的源代码来验证这一点:没有PHP!
如果你的JavaScript成为了catch,那么因为你没有任何东西被发送到服务器return false.在实践中,有必要进行服务器端检查,以防万一: