I am trying to put a validation on the client side of some forms on my web page, even adding a class to show the error, or I have already added a document.write
due to desperation.
Such is the thing that these would be my validations and this my code. I do not know where I have the fault:
$(document).ready(function() {
//variables globales
var acronimo = $("#acronimo");
var categoria = $("#categoria");
});
//funciones de validación
function validateAcronimo() {
//No cumple longitud máxima-minima
if (acronimo.val().length <= 4) {
acronimo.addClass("error");
document.write("Prueba");
return false;
}
//Si lognitud pero no caracteres
else if (!acronimo.val().match(/^[A-Z]+$/)) {
acronimo.addClass("error");
return false;
}
//Si longitud, si caracteres
else {
acronimo.removeClass("error");
return false;
}
}
function validateCategoria() {
//Longitud máxima
if (categoria.val().length <= 50) {
categoria.addClass("error");
return false;
}
//Si
else {
categoria.removeClass("error");
return false;
}
}
//Perdida de foco
acronimo.blur(validateAcronimo);
categoria.blur(validateCategoria);
//Pulsacion de tecla
acronimo.keyup(validateAcronimo);
categoria.keyup(validateCategoria);
// Envio de formulario
$("#form1").submit(function() {
if (validateAcronimo() & validateCategoria())
return true;
else
return false;
});
<script src="https://code.jquery.com/jquery-3.2.0.js"></script>
<form id="form1 " action="?action=<?php echo isset($obj_categoria) ? 'actualizar' : 'registrar'; ?>" method="POST" style="margin-bottom:30px;">
<input type="hidden" name="id" value="<?php echo isset($obj_categoria) ? $obj_categoria->__GET('acronimo') : ''; ?>" />
<table style="width:500px;">
<tr>
<th style="text-align:left;">Acronimo</th>
<td><input id="acronimo" class="requisites" type="text" name="acronimo" value="<?php echo isset($obj_categoria) ? $obj_categoria->__GET('acronimo') : ''; ?>" style="width:100%;" required /></td>
<th style="text-align:left;">Categoria</th>
<td><input id="categoria" class="requisites" type="text" name="categoria" value="<?php echo isset($obj_categoria) ? $obj_categoria->__GET('categoria') : ''; ?>" style="width:100%;" required/></td>
</tr>
<tr>
<td colspan="2"><button type="submit" class="btn btn-success">Guardar</button></td>
<td colspan="2">
<form action="index.php">
<input class="btn btn-primary" type="reset" value="Limpiar" />
</form>
</td>
</tr>
</table>
</form>