【问题标题】:What's the best best practice to validate object fields? [closed]验证对象字段的最佳实践是什么? [关闭]
【发布时间】:2020-05-05 17:00:44
【问题描述】:

以下函数必须先验证所需的对象字段,然后再继续。没有严格要求返回通用验证错误消息与特定错误消息。应遵循的最佳做法是什么?

返回通用验证消息,

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

}

【问题讨论】:

  • 我会throw Error('some message'); 而不是返回。除此之外,不知道上下文是不可能说的。

标签: javascript coding-style


【解决方案1】:

我会说它们都不是最好的。因为该函数应返回帐户详细信息而不是错误。

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

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

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

【讨论】:

  • 我喜欢。如果验证失败,最好返回错误。抛出带有特定错误消息或通用错误的错误会很好吗?
  • 哪种情况最适合您。就像在前端你有输入和错误时你想为这些输入添加错误类(使它们在错误时变红)。您可以使用第二种方法,或者如果您只是在页面上打印错误,请使用第一种方法。
猜你喜欢
  • 2010-09-23
  • 2020-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
  • 2015-11-01
  • 2017-06-26
  • 1970-01-01
相关资源
最近更新 更多