JSFiddle - React, Tailwind, and code Playground
HTML
<form id="form1" method="get" action="http://www.marca.com">
Email: <input type="text" name="email" regexp="^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" error="El email no es correcto." /><br/>
Nick: <input type="text" name="nick" regexp="^.+$" error="El nick es obligatorio" /><br/>
Pais: <input type="text" name="pais" /><br/>
<input type="submit" valure="enviar" />
</form>
JavaScript
//Librería básica de validación javascript
function JsValidator(form){
this.form=form;
this.validar=function(){
var n=this.form.elements.length;
for (var i=0;i<n;i++)
{
var elemento=this.form.elements[i];
if (elemento.hasAttribute("regexp"))
{
var regExp = new RegExp(elemento.getAttribute("regexp"));
var txtError=(elemento.hasAttribute("error"))?elemento.getAttribute("error"):"";
if (!regExp.test(elemento.value))
{
return { valido:false, texto: txtError };
}
}
}
return { valido:true };
}
}
//Fin de la librería
//Código a añadir allí donde quiera usarse la librería
window.onload=function(){
var form=document.getElementById("form1");
var validador=new JsValidator(form);
form.onsubmit=function(){
var respuesta=validador.validar();
if (!respuesta.valido)
{
alert(respuesta.texto);
return false;
}
return true;
};
};