Javascript jQuery表单验证-立即报告所有错误
我已经花了大约一年的时间来处理这样的验证:Javascript jQuery表单验证-立即报告所有错误,javascript,jquery,validation,Javascript,Jquery,Validation,我已经花了大约一年的时间来处理这样的验证: $(document).ready(function(){ $('#contact-form').submit(function(){ var name = $('#inputnimi').val(), email = $('#inputemail').val(), message = $('#inputmessage').val(); var nam
$(document).ready(function(){
$('#contact-form').submit(function(){
var name = $('#inputnimi').val(),
email = $('#inputemail').val(),
message = $('#inputmessage').val();
var nameerror = "<h4>Puuttuva kenttä</h4>",
emailerror = "<h4>Puuttuva kenttä</h4>",
messageerror= "<h4>Puuttuva kenttä</h4>";
if(name == ""){
$('.message-console').html(nameerror);
return false;
}
if(email == ""){
$('.message-console').html(emailerror);
return false;
}
if(message == ""){
$('.message-console').html(messageerror);
return false;
}
$.ajax({
type: "POST",
url: "contact.php",
data: form-data,
dataType: "text",
error: function(){alert("ERROR");
},
success: function() {
alert("success");
}
});
return false;
});
});
因此,我想在没有任何插件的情况下验证表单,并立即显示所有错误(如果有)。但是怎么做呢?你可以试试这样的方法:
if(!(name&&email&&message))
{
//error logic
}
但是,如果任何值等于0,验证将再次触发,因此您最好使用
if((name&&email&&message)=="")
{
//error logic
}
不要每次都让它返回false。然后你可以做如下的事情:
$('.message-console').html('');
if(name == ""){
$('.message-console').append(nameerror);
}
/*others*/
尽管我会按照dnagirl的建议去做,并使用它——就额外的插件而言,它并没有那么糟糕,而且使用起来也很简单。尽管你不想使用插件,但阅读jQuery的验证插件的源代码非常有启发性。它已经可以做你想做的事情了,所以这是一个学习如何做的好地方。@dnagirl我在任何地方都找不到它,link?为什么
名称或电子邮件或消息等于空
会正常工作?它不是或是逻辑运算,实际上上面的代码意味着如果任何字段有空值,就会触发验证。我真的不想使用插件进行验证,但谢谢你的提示。
$('.message-console').html('');
if(name == ""){
$('.message-console').append(nameerror);
}
/*others*/