我有这段代码:
$(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一样。