我正在努力进行表单验证工作,看起来主要的问题是 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");
}
}