【发布时间】:2021-06-27 18:20:49
【问题描述】:
我正在编写代码来验证表单的字段。因此,我编写了一个函数名称 validateFields 来执行此操作。因此,如果所有字段都正确,则该函数将返回 true,否则返回 false。 validateFields 函数在另一个名为 saveForm 的函数中调用。 saveForm 函数的目的是仅当 validateFields 返回 true 时才保存数据。 saveForm 已经在 try 块中执行了另一个 promise 回调,如果 promise 失败,则返回错误。 我想要实现的是,如果 validateFields 返回 false 那么我想在 saveForm 函数中抛出一个错误。
// this function is present in another file say validation.js
function validateForm(){
//some logic to validate which returns true or false;
}
//this function is present in another file say saveForm.js, the structure of saveForm function is as follows
function saveForm(){
var isFormValid = validation.validateForm(); //validateForm function invoked
try{
//some existing logic to send the saved form
}catch(error){
console.log(error)
}
}
现在,如果 isFormValid 为 false,那么我不想在 try 块中执行现有逻辑,而是抛出一个错误,指出表单验证失败。我尝试按以下方式进行操作,但失败了
function saveForm(){
try{
var isFormValid = validation.validateForm(); //validateForm function invoked
try{
//some existing logic to send the saved form
}catch(error){
console.log(error)
}catch(error){
console.log("Validation failed error");
}
}
}
我只想执行外部 catch 块,但是我从两个 catch 块中获取消息,所以任何人都可以帮助我如何放置 isValidForm 逻辑,以便我只收到验证失败错误?
【问题讨论】:
-
请访问help center,使用tour查看内容和How to Ask。做一些研究,搜索关于 SO 的相关主题;如果您遇到困难,请发布您的尝试的minimal reproducible example,注意输入和预期输出,最好在Stacksnippet
标签: javascript validation try-catch