Jquery验证远程失败

时间:2011-04-29 11:25:31

标签: php jquery validation

我有这段代码:

$(document).ready(
function(){
    $('#formulario').validate(
        {
            rules:{
                nombre:{ required: true },
                direccion:{ required: true },
                cpostal:{ required: true, number: true },
                telefono:{ required: true, number: true },
                correo:{
                    required: true,
                    email: true,
                    remote: { url: "lib/comprueba.php", type: "POST" }
                },
                personaContacto:{ required: true },
                cargo:{ required: true },
                usuario:{ required: true },
                contrasena:{ required: true },
                tlfContacto:{ required: true, number: true }
            },
            messages:{
                nombre:{ required: "Introduce un nombre." },
                direccion:{ required: "Introduce una dirección." },
                cpostal:{
                    required: "Introduce un codigo postal.",
                    number: "Error: Campo numérico." },
                telefono:{
                    required: "Introduce un teléfono.",
                    number: "Error: Campo numérico." },
                correo:{
                    required: "Introduce un email.",
                    email: "Error: ej. correo@servidor.dominio",
                    remote: "Ese correo ya existe." },
                personaContacto:{ required: "Introduce una persona de contacto." },
                cargo:{ required: "Introduce un cargo." },
                usuario:{ required: "Introduce un usuario." },
                contrasena:{ required: "Introduce una contraseña." },
                tlfContacto:{
                    required: "Introduce un telefono para la persona de contacto.",
                    number: "Error: Campo numérico." }
            }
        }
    );
}

);

和php文件中的代码:

//session_start();
include('bbdd4.php');
if(isset($_REQUEST['correo'])===true){
    $email = $_REQUEST['correo'];
    $comprobarEmail = obtener("SELECT correo FROM usuario WHERE correo = '$email'");
    if(isset($comprobarEmail[0]['correo'])){
        $valido = false;
    }else{
        $valido = true;
    }
    header('Content-type: application/json');
    echo json_encode($valido);
    //echo $valido;
}
问题是,当php返回true时,在html javascript中将元素置于有效状态,而当php返回false时,该元素置于有效状态。 :S

时刻的形象:

see bottom the response of php

抱歉我的英语不好。

我在这里找到了解决方案:JQuery Username Validation,并进行了一些更改:

$(document).ready(
function(){

    jQuery.validator.addMethod("comprobarCorreo", function(email) {
       var isSuccess = false;
       $.ajax({ url: "lib/comprueba.php",
                data: "correo=" + email,
                async: false,
                success:
                    function(msg) { isSuccess = msg;}
              });
        return isSuccess;
    },"");

    $('#formulario').validate(
        {
            rules:{
                nombre:{ required: true },
                direccion:{ required: true },
                cpostal:{ required: true, number: true },
                telefono:{ required: true, number: true },
                correo:{
                    required: true,
                    email: true,
                    comprobarCorreo: true
                },
                personaContacto:{ required: true },
                cargo:{ required: true },
                usuario:{ required: true },
                contrasena:{ required: true },
                tlfContacto:{ required: true, number: true }
            },
            messages:{
                nombre:{ required: "Introduce un nombre." },
                direccion:{ required: "Introduce una dirección." },
                cpostal:{
                    required: "Introduce un codigo postal.",
                    number: "Error: Campo numérico." },
                telefono:{
                    required: "Introduce un teléfono.",
                    number: "Error: Campo numérico." },
                correo:{
                    required: "Introduce un email.",
                    email: "Error: ej. correo@servidor.dominio",
                    comprobarCorreo: "Ese correo ya existe"},
                personaContacto:{ required: "Introduce una persona de contacto." },
                cargo:{ required: "Introduce un cargo." },
                usuario:{ required: "Introduce un usuario." },
                contrasena:{ required: "Introduce una contraseña." },
                tlfContacto:{
                    required: "Introduce un telefono para la persona de contacto.",
                    number: "Error: Campo numérico." }
            }
        }
    );
}

);

和php一样。

0 个答案:

没有答案