使用JavaScript验证使表单字段可选

时间:2012-03-24 00:38:14

标签: javascript function validation

我有像这样的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;
    }
}

这很好但我已经决定我不希望所有三个都必须被要求。如果我可以使这三个可选,那将是很好的,这样如果填写了这些字段中的任何一个,它将验证为真,但如果所有三个字段都为空,我可以抛出警报并验证错误。

非常感谢任何帮助。

1 个答案:

答案 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;
    }
}