检查电子邮件时是否存在jQueryvalidation消息

我正在使用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文件应该返回truefalse

您可以在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代码并检查它是否正常工作。