Ich habe eine Funktion, die meine Eingaben für das Fokus-Out-Ereignis validiert, aber wenn ich das Formular absende, muss ich das Formular erneut validieren, wie kann ich das tun? wenn ich versuche, dies:Formularvalidierung bei Senden und bei Fokus
$("#formcontato").submit(function(event){
event.preventDefault();
if (validar()){
$.ajax({
blablablabla
});
}
});
Er wirft dass input
ist undefined
Ich brauche das Formular auf dem einreichen Ereignisse validade dass der Benutzer kann direkt auf dem Submit-Button klicken, werden auf diese Weise, die Funktion, die die Formularvalidierung isn machen nicht ausgeführt.
function validar(input) {
var valido = false;
if(input.attr("id") === "email"){
var filtro = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-][email protected][a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
if(filtro.test(input.val())){
input.css("border-color", "green");
} else {
input.css("border-color", "red");
valido = false;
}
}
else if (input.val()===""){
input.css("border-color", "red");
valido = false;
}
else if (input.val()!="") {
input.css("border-color", "green");
}
return valido;
}
$("input[type='text'],textarea").focusout(function() {
validar($(this))
});
Ich mochte die erste Option, aber Wenn nur eine dieser Eingaben gültig ist und ich auf die Schaltfläche "Senden" klicke, versteht er, dass jede Eingabe gültig ist. Es gibt eine Möglichkeit, alle Eingaben zu durchlaufen. Wenn ich zum Beispiel auf die Senden-Schaltfläche klicke, geht er alle Eingaben durch und kehrt zurück wenn es nicht gültig ist, aber wenn ich nur meine Eingabe fokussiere, wird er nur diese Eingabe validieren. –