我有像这样的JavaScript表单验证函数:
function validate_name(field)
{
if (field == "") return "Please enter the name.\n";
return "";
}
function validate_specialty(field)
{
if (field == "") return "Please enter the specialty.\n";
return "";
}
function validate_location(field)
{
if (field == "") return "Don't forget the location.\n";
return "";
}
从表单的onSubmit
调用的函数是:
function validate_fields(form)
{
fail = validate_name(form.name.value);
fail += validate_specialty(form.specialty.value);
fail += validate_location(form.location.value);
if (fail == "")
return true;
else
{
alert(fail);
return false;
}
}
这很好但我已经决定我不希望所有三个都必须被要求。如果我可以使这三个可选,那将是很好的,这样如果填写了这些字段中的任何一个,它将验证为真,但如果所有三个字段都为空,我可以抛出警报并验证错误。
非常感谢任何帮助。
答案 0 :(得分:1)
您可以通过单独捕获结果并使用OR分组进行测试来实现。
function validate_fields(form)
{
fail1 = validate_name(form.name.value);
fail2 = validate_specialty(form.specialty.value);
fail3 = validate_location(form.location.value);
if (fail1 == "" || fail2 == "" || fail3 == "")
return true;
else
{
alert(fail1 + fail2 + fail3);
return false;
}
}