javascript and php validation?
javascript and php 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>
有谁能帮我一下吗? 你的JavaScript和PHP不能同时执行,因为前者发生在用户的浏览器表单被post之前,而后者发生在表单到达服务器之后。
你可以通过在浏览器中检查网页的源代码来验证这一点:没有PHP!
如果您的JavaScript捕获,则不会向服务器发送任何内容,因为您的return false
。在实践中,在以下情况下进行服务器端检查是有意义的:
- 有人很狡猾,在表单验证之后,在发送之前修改了表单。
- JavaScript由于某些原因被禁用或中断。
这个表单的工作方式是,你有一个JS函数在表单的onsubmit属性,可以防止表单提交,如果一个值是错误的。如果你的JS函数因为一个错误返回false,表单将永远不会被提交。
为了获得您想要的功能,您只需要在服务器端执行检查,但是您需要每次都提交表单才能发生这种情况…
另一种方法是在用户完成向每个文本字段添加值时检查输入的值,即在字段的blur()属性上附加一个JS函数,并在表单实际提交之前对服务器进行AJAX调用,以验证字段内容。
您可以使用jQuery的validate插件进行更复杂的验证,如果这些可以在客户端完成,
http://jqueryvalidation.org/正如paislee所说,你不可能同时运行php和javascript。然而,你可以发送动态请求来运行一些php代码,这被称为AJAX。这也不能保证绝对准确的同时执行,但会更接近你的目标。
- 使用php或javascript从facebook相册URL中删除多余的部分
- 将PHP变量传递给jQuery时遇到问题
- 通过javascript重定向html传递php变量
- 将数组从PHP传递到Javascript
- 如何在php文件中获取$.post-ajax传递的值
- Javascript运行php文件,然后下载文件
- PHP中的setcookie仅适用于localhost
- 如何使用jquery处理php循环通过元素
- 通过Ajax将JavaScript函数传递给PHP文件
- 而循环只设置php中输入字段中的第一个值
- 我需要从php调用javascript或jquery
- 如何使用jquery Validation验证Formspread
- 如何通过php页面将数据库值检索到jquery自动完成框中
- PHP AJAX图片上传示例不上传
- 通过php页面中的js强制下载txt
- 如何在PHP中使用$_POST获取Select元素值
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- Javascript/PHP Validation
- javascript and php validation?
- PHP validation for Javascript