Miren estoy haciendo un formulario de registro en el cual quiero hacer que todos los campos se validen al mismo tiempo, intente separar cada if tanto en el JS como en el PHP, pero no me funciona correctamente, no se realmente como debo hacer eso, les dejo mi código para ver si me pueden ayudar:
JS
Código Javascript:
Ver original
$(document).ready(function() { $("#reg").submit(function(event){ event.preventDefault(); $.ajax({ url:'registro.php', type: 'POST', dataType: 'json', data: $("#reg").serializeArray() }).done(function(Result){ if(Result.Error == "Ok") { window.location.href = '/principal'; }else{ if(Result.Error == 'Required_M') { $('.inptm').prepend('<div>Este campo es requerido.</div>'); }else if(Result.Error == "Mail_A") { $('.inptm').prepend('<div>El email ingresado no es válido.</div>'); }else if(Result.Error == "Mail_B") { $('.inptm').prepend('<div>El email ya esta registrado.</div>'); } if(Result.Error == 'Required_P') { $('.inptp').prepend('<div>Este campo es requerido.</div>'); }else if(Result.Error == "Password") { $('.inptp').prepend('<div>Las contraseñas ingresadas no coinciden.</div>'); } if(Result.Error == 'Required_D') { $('.inptd').prepend('<div>Este campo es requerido.</div>'); } if(Result.Error == 'Required_T') { $('.t_c').prepend('<div>Debes aceptar los terminos y condiciones.</div>'); } } }); }); });
PHP
Código PHP:
Ver original
<?php require 'Config.php'; $Result = new stdClass(); $password = $_POST['password']; $mail = $_POST['mail']; $checkmail = Mysqli::Query("SELECT Mail FROM users WHERE Mail = '".$mail."'"); $RsT_Ok = true; else: $Result->Error = 'Required_T'; endif; if($_POST['fdia'] == NULL || $_POST['fmes'] == NULL || $_POST['fyear'] == NULL): $Result->Error = 'Required_D'; else: $RsD_Ok = true; endif; if($password == NULL): $Result->Error = 'Required_P'; elseif($password != $_POST['repassword']): $Result->Error = 'Password'; else: $RsP_Ok = true; endif; if($mail == null): $Result->Error = 'Required_M'; elseif(!Functions::Validate($mail)): $Result->Error = 'Mail_A'; elseif($checkmail->num_rows >= 1): $Result->Error = 'Mail_B'; else: $RsM_Ok = true; endif; Mysqli::Query("INSERT INTO users (username, Mail, Password, Day_Month, Year) VALUES ('".$username."', '".$mail."', '".$password."', '".$_POST['fdia']." de ".$_POST['fmes']."', '".$_POST['fyear']."')"); $Reg = Mysqli::Query("SELECT Mail FROM users WHERE Mail = '".$mail."'"); $Register = $Reg->fetch_array(); $_SESSION['mail'] = $Register['Mail']; $Result->Error = 'Ok'; endif; ?>
Les comento que SI me valida todo perfectamente pero uno por uno y lo que yo deseo es que se validen todos al mismo tiempo ¿Me dan una mano?
Nota: No supe si colocarlo aquí o en PHP, lo siento.
Graicas