验证对象字段的最佳实践是什么?

What's the best best practice to validate object fields?

下面的函数必须在继续之前验证所需的对象字段。对于 return 通用验证错误消息与特定错误消息没有严格要求。应遵循的最佳做法是什么?

返回通用验证消息,

function getAccountDetails({userId, accountId, email}) {
 if(!userId || !accountId || !email) {
   return 'userId or accountId or email is required';
 }
 // Todo

}

返回特定的验证错误消息,

 function getAccountDetails({userId, accountId, email}) {
  if(!userId) {
    return 'userId is required';
  }
  if(!accountId) {
    return 'accountId is required';
  }
  if(!email) {
    return 'email is required';
  }
  // Todo

}

我会说其中 none 是最好的。因为该功能预计 return 帐户详细信息而不是错误。

一个好的做法是抛出错误并使用 try/catch 块在另一端捕获它。

if(!userId || !accountId || !email) {
   throw Error("userId or accountId or email is required")
 }

两种方法之间...做最适合您的或您认为最好的没有任何建议。