en tu formulario:
<?php
session_start ();
//Validacion de datos enviados
if(isset($_POST['send'])){
if(!validateUsername($_POST['username']))
$username = "error";
if(!validateUsername2($_POST['username2']))
$username2 = "error";
if(!validatePassword1($_POST['password1']))
$password1 = "error";
if(!validatePassword2($_POST['password1'], $_POST['password2']))
$password2 = "error";
if(!validateEmail($_POST['email']))
$email = "error";
if(!validatenum_doc($_POST['num_doc']))
$num_doc = "error";
if(!validategenero($_POST['genero']))
$genero = "error";
if(!validatefecha_nac($_POST['dia']))
$fecha_nac = "error";
//Guardamos valores para que no tenga que reescribirlos
$usernameValue = $_POST['username'];
$usernameValue2 = $_POST['username2'];
$emailValue = $_POST['email'];
//Comprobamos si todo ha ido bien
if($username != "error" && $username2 != "error" && $password1 != "error" && $password2 != "error" && $email != "error")
$status = 1;
}
?>
<?php if(!isset($status)): ?>
<form action="login_iframe.php">
<label for="username">Nombres* (solo se admiten caracteres A-z):</label>
<input name="username" type="text" class="text <?php echo $username ?>" id="username" value="<?php echo $_SESSION["username"]; ?>" maxlength="100" />
<span id="req-username" class="requisites <?php echo $username ?>"><font color=#FFFFFF>Ingrese o corrija este campo.</font></span>
<label for="username2">Apellidos* (solo se admiten caracteres A-z):</label>
<input name="username2" type="text" class="text <?php echo $username2 ?>" id="username2" value="<?php echo $_SESSION["username2"]; ?>" maxlength="100" />
<span id="req-username2" class="requisites <?php echo $username2 ?>"><font color=#FFFFFF>Ingrese o corrija este campo.</font></span>
<?php else: ?>
<center><h1>¡Formulario enviado con éxito!</h1></center>
<?php endif; ?>
en la libreria javascript las validaciones: (main.js)
$(document).ready(function(){
//variables globales
var searchBoxes = $(".text");
var inputUsername = $("#username");
var reqUsername = $("#req-username");
var inputUsername2 = $("#username2");
var reqUsername2 = $("#req-username2");
function validateUsername(){
//NO cumple longitud minima
if(inputUsername.val().length < 3){
reqUsername.addClass("error");
inputUsername.addClass("error");
return false;
}
//SI longitud pero NO solo caracteres A-z
else if(!inputUsername.val().match(/^[a-zA-Z ñáéíóú]+$/)){
reqUsername.addClass("error");
inputUsername.addClass("error");
return false;
}
// SI longitud, SI caracteres A-z
else{
reqUsername.removeClass("error");
inputUsername.removeClass("error");
return true;
}
}
function validateUsername2(){
//NO cumple longitud minima
if(inputUsername2.val().length < 3){
reqUsername2.addClass("error");
inputUsername2.addClass("error");
return false;
}
//SI longitud pero NO solo caracteres A-z
else if(!inputUsername2.val().match(/^[a-zA-Z ñáéíóú]+$/)){
reqUsername2.addClass("error");
inputUsername2.addClass("error");
return false;
}
// SI longitud, SI caracteres A-z
else{
reqUsername2.removeClass("error");
inputUsername2.removeClass("error");
return true;
}
}
//**************************************************
//controlamos la validacion en los distintos eventos
// Perdida de foco
inputUsername.blur(validateUsername);
inputUsername2.blur(validateUsername2);
// Pulsacion de tecla
inputUsername.keyup(validateUsername);
inputUsername2.keyup(validateUsername2);
// Envio de formulario
$("#form1").submit(function(){
if(validateUsername() & validateUsername2() )
return true;
else
return false;
});
//controlamos el foco / perdida de foco para los input text
searchBoxes.focus(function(){
$(this).addClass("active");
});
searchBoxes.blur(function(){
$(this).removeClass("active");
});
});
un CSS para asignar los colores de error, cuando han dejado el campo sin llenar:
.requisites{
padding: 0 2px 0 2px;
}
.requisites.error{
background: #a7c600;
color: #171717;
}
input.error{
background: #a7c600;
border-color: #171717;
}