找出函数是返回true还是false

时间:2017-02-20 05:46:43

标签: forms validation

我正在努力进行表单验证工作,看起来主要的问题是 placeOrder 函数(其他函数可以正常工作)。该函数以奇怪的方式运行(仅当第一个输入字段(消息)未向测试条件确认时才发出警报,而如果我将其他字段留空,则不显示警报)。我试图通过在此测试中放置主要if语句的每个部分(由AND运算符除以)来找到原因:

if(validateLenghtData(5, 32, form["message"], form["message_help"])) {
    console.log("validation passed");
} else {
    console.log("validation failed");
}

这没有给我任何东西,因为它只向控制台返回false(“验证失败”),而如果我输入有效文本,它什么都不输出。错误在哪里?我如何测试大if语句的每个部分(如validatedZipCode(form["zipcode"], form["zipcode_help"])),以找出哪个部分给我错误。

function placeOrder(form) {

    // first check whether all fields are filled with valid data
    // form["message"] and other simular arguments are part of form object and are passed from submit form (look it)
    if (validateLenghtData(5, 32, form["message"], form["message_help"]) &&
        validatedZipCode(form["zipcode"], form["zipcode_help"]) &&
        validateNonEmptyField(form["date"], form["date_help"]) &&
        validateNonEmptyField(form["name"], form["name_help"]) &&
        validateNonEmptyField(form["phone"], form["phone_help"]) &&
        validateNonEmptyField(form["email"], form["email_help"]))       {

        // everything is ok, submit the order to the server
        form.submit(); 
    } else {
        alert ("You need to feel all fields correctly");
    }

    if(validateLenghtData(5, 32, form["message"], form["message_help"])) {
        console.log("validation passed");
    } else {
        console.log("validation failed");
    }

  }

0 个答案:

没有答案