我正在使用jQueryvalidation器来validation表单。我正在检查电子邮件ID是否已经存在或者没有在数据库中完美运行。 我在Network->Response tab
获取输出。
问题是我无法在表单中显示该validation错误消息。 我也设置了消息规则,但没有显示。
你能帮助我吗? 检查下图。
形成
test.js
// When the browser is ready... $(function() { $("form[name='form1']").validate({ // Specify the validation rules rules: { name:{ required: true, minlength: 3, maxlength: 50 }, email: { required: true, email: true, remote: { url: "process?key=emailalready_register", type: "post" } }, mobile: { required: true, number: true, minlength: 10, maxlength: 10 } }, messages: { email: {remote: "Email already in use!"} }, submitHandler: function(form) { form.submit(); } }); });
Process.php
function emailalready_register($conn){ if(isset($_POST['email'])) { $email =$conn->real_escape_string(trim($_POST['email'])); $sql_check_email="SELECT email FROM register WHERE email =?"; $stmt = $conn->prepare($sql_check_email); $stmt->bind_param("s", $email); $stmt->execute(); $stmt->bind_result($email); $rows = $stmt->fetch(); $total_rows = count($rows); if( $total_rows > 0 ){ echo 'Already exsist'; } else { echo 'Not exsist'; } $stmt->close(); $conn->close(); } }
试试这个:-
$(function() { $("form[name='form1']").validate({ // Specify the validation rules rules: { name:{ required: true, minlength: 3, maxlength: 50 }, email: { required: true, email: true, remote: "process?key=emailalready_register", }, mobile: { required: true, number: true, minlength: 10, maxlength: 10 } }, messages: { email: {remote: "Email already in use!"} }, submitHandler: function(form) { form.submit(); } }); });
进程.php
function emailalready_register($conn){ if(isset($_POST['email'])) { $email =$conn->real_escape_string(trim($_POST['email'])); $sql_check_email="SELECT email FROM register WHERE email =?"; $stmt = $conn->prepare($sql_check_email); $stmt->bind_param("s", $email); $stmt->execute(); $stmt->bind_result($email); $rows = $stmt->fetch(); $total_rows = count($rows); if( $total_rows > 0 ){ echo 'false'; } else { echo 'true'; } $stmt->close(); $conn->close(); } }
您的PHP文件应该返回true
或false
。
您可以在html
和target中放置一个div来输出消息,如下所示:
注意:您的电子邮件检查中提供的url错误。
将test.js更改为:
$(function() { $("form[name='form1']").validate({ // Specify the validation rules rules: { name:{ required: true, minlength: 3, maxlength: 50 }, email: { required: true, email: true, remote: { url: "process.php", type: "post", dataFilter: function(data) { var json = JSON.parse(data); return """ + json.msg + """; } } }, mobile: { required: true, number: true, minlength: 10, maxlength: 10 } }, messages: { email: {remote: "email is in use!"} }, submitHandler: function(form) { form.submit(); } }); });
将您的process.php更改为:
real_escape_string(trim($_POST['email'])); $sql_check_email="SELECT email FROM register WHERE email =?"; $stmt = $conn->prepare($sql_check_email); $stmt->bind_param("s", $email); $stmt->execute(); $stmt->bind_result($email); $rows = $stmt->fetch(); $total_rows = count($rows); if( $total_rows > 0 ){ echo json_encode(array("msg"=>"Already exists")); } else { echo json_encode(array("msg"=>"Not exists")); } $stmt->close(); $conn->close(); } */ echo json_encode(array("msg"=>"Already exists"));
注意:这是用于演示消息,因此它将始终显示"Already exists"
。 注释最后一行并取消注释 process.php的其余部分并检查。请查找process.php代码并检查它是否正常工作。
以上就是jQuery教程分享检查电子邮件时是否存在jQueryvalidation消息相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/558001.html