【问题标题】:JQuery Remote Validation not displaying Error [duplicate]JQuery远程验证不显示错误[重复]
【发布时间】:2015-12-30 10:56:12
【问题描述】:

我正在使用 JQuery Validation 插件,该插件除了对用户名进行远程验证之外,它的工作效果很好,是唯一的。

脚本返回“true”或“false”,您将从下面的代码中看到。但我不确定它为什么不显示错误...值得一提的是,显示了 User 上的其他错误。

Jquery 验证规则:

User: {
                required: true,
                minlength: 6,
                remote:{
                    url: 'scripts/userCheck.php',
                    type: "post"
                }
            }

JQuery 验证消息:

User: {
                    required: "Please Enter a Username",
                    minlength: "Username must be more than 6 characters in Length",
                    remote: "User already exists"
                }

userCheck.php:

<?php
/**
 * Created by PhpStorm.
 * User: nathanenglish5
 * Date: 30/12/2015
 * Time: 09:05
 */
include_once "init.php";
include_once "../resources/signup.class.php";
$signup = new signup($DB_con);

$return = "false";
$count = 0;

if (isset($_Post['User'])) {
    $uid = $_Post['User'];
    $sql = "SELECT COUNT(username) FROM username WHERE username = '$uid'";
    $count = $signup->dataview($sql);

    if($signup->dataview($sql)==0){
        $return = "true";
    }
}
?>

dataview 类所做的只是返回一个数字。

任何帮助或指导都会很棒!

【问题讨论】:

  • data 远程发布在哪里?
  • 在查看萤火虫时,我可以在请求正文中看到用户在不需要数据部分的情况下被传递?

标签: php jquery jquery-validate


【解决方案1】:

试试这个:

//Our validation script will go here.

    $(document).ready(function(){

        //validation implementation will go here.
        $("#form_id").validate({
            rules: {

                user: {
                    required: true,
                   minlength: 6,
                },
               remote: {
                  url: 'scripts/userCheck.php',
                type: "post"
               }
           },
           messages: {
               user: {
                    required: "Please Enter a Username",
                minlength: "Username must be more than 6 characters in Length",

               },
               remote: {
                   remote: "User already exists"

               }
           }
       });
 })

【讨论】:

  • 没什么区别 :(
【解决方案2】:

我阅读了其他几个论坛,发现我需要回显结果并将 userCheck.php 更改为以下内容:

<?php
/**
 * Created by PhpStorm.
 * User: nathanenglish5
 * Date: 30/12/2015
 * Time: 09:05
 */
include_once "init.php";
include_once "../resources/signup.class.php";
$signup = new signup($DB_con);

$return = "false";
$count = 0;

if (isset($_POST['User'])) {
    $uid = $_POST['User'];
    $sql = "SELECT COUNT(username) FROM username WHERE username = '$uid'";
    $count = $signup->dataview($sql);

    if($signup->dataview($sql)==0){
        $return = "true";
    }
}
echo $return;
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2016-04-17
    • 2016-02-18
    • 2018-10-19
    相关资源
    最近更新 更多