我有这个javascript验证脚本,检查字段是否包含内容,我有一个验证脚本,检查两个电子邮件字段是否具有相同的输入,但我想将两者合并为一个脚本,所以我只需要推送一个带有错误消息的div
第一部分(检查该字段是否有任何输入的人)
function isValid(fldId,len) {
var fld = $("#"+fldId);
var val = fld.val();
window.console && console.log(fld,fldId)
if (val == "" || (len && val.length<len)) {
fld.css("borderColor","red");
return false;
}
fld.css("borderColor","black");
return true;
}
$(function() {
$("form").on("submit",function() {
var errormessage = [];
if (!isValid('name')) {
errormessage.push("error name");
}
if (!isValid('email')) {
errormessage.push("error email");
}
if (!isValid('emailnogmaals')) {
errormessage.push("error email again");
}
if (errormessage.length>0) {
window.console && console.log("error present");
$(".error-messages").html(errormessage.join('<br/>')).fadeIn();
return false;
}
window.console && console.log("success");
return true;
});
});
第二部分(检查两个字段是否具有相同输入的人)
function checkEmail(theForm) {
if (theForm.email.value != theForm.emailnogmaals.value)
{
$(".error-message-email").text("• De e-mail adressen komen niet overeen").fadeIn();
return false;
} else {
return true;
}
}
是否可以将两者合并?
答案 0 :(得分:3)
编写javascript表单验证似乎总是很乏味,对我来说总是有daja vu的感觉,我的意思是这是javascript真正用过的第一件事,所以我总觉得我正在重新发明轮。当你从头开始编写它时,似乎需要几次迭代才能使它恰到好处。
关于方向盘(即它的发明),我觉得它是用jQuery验证插件(link here)定义的。这是一个非常成熟的插件(已经存在了大约8年左右)并且工作得非常好。 验证包括但不限于: 必需,最小,最大,范围,电子邮件,数字,日期,信用卡和等于(比较字段)。您还可以添加自己的验证规则。
你必须花一点时间来了解它(例如它是如何做的,特别是它使用的属性和它给出验证错误的类名),但是一旦你这样做,你可以轻松地再次使用它再次,如果您愿意,每次使用时都要更改样式
答案 1 :(得分:0)
您应该在“email”和“emailnogmaals”字段中输入ID 让我们说我们给他们ID的电子邮件和emailnogmaals:
function isValid(fldId,len) {
var fld = $("#"+fldId);
var val = fld.val();
window.console && console.log(fld,fldId)
if (val == "" || (len && val.length<len)) {
fld.css("borderColor","red");
return false;
}
fld.css("borderColor","black");
return true;
}
$(function() {
$("form").on("submit",function() {
var errormessage = [];
if (!isValid('name')) {
errormessage.push("error name");
}
if (!isValid('email')) {
errormessage.push("error email");
}
if (!isValid('emailnogmaals')) {
errormessage.push("error email again");
}
//-------------------------Check for equal mail
if ($('#email').Text() != $('#emailnogmaals').Text())
{
errormessage.push("emails are not equal");
}
//-------------------------Check for equal mail
if (errormessage.length>0) {
window.console && console.log("error present");
$(".error-messages").html(errormessage.join('<br/>')).fadeIn();
return false;
}
window.console && console.log("success");
return true;
});
});