哪种方法可以验证前端或后端的必填字段?

时间:2016-04-20 16:33:04

标签: mysql json node.js restful-authentication

我是后端开发的新手。我已经编写了API来更新用户信息,其请求体如下 -

{
   "id": 26,
   "email": "tom.richards@yahoo.com",
   "firstName": "Tommy",
   "lastName": "Richards",
   "photoUrl": null,
   "userAddress": [
        {
           "id": 8,
           "type": "home",
           "addressLine1": "DP Road",
           "addressLine2": "Main Street",
           "city": "Los Angel",
           "state": "CA",
           "country": "USA",
           "postalCode":915890
        },
        {
          "id": 25,
          "type": "office",
          "addressLine1": "Dr Red Road",
          "addressLine2": null,
          "city": "SA",
          "state": "CA",
          "country": "USA",
          "postalCode":918950
       }
    ]
}

理想情况下应该在前端[网站或电话]或后端[服务器端]或两端验证地址类型[在我的家庭或办公室中]?哪种方法可以验证地址类型?如果我们在后端验证它,这将导致任何性能问题?

注意 - 如果开发人员传递任何字符串,则类似传递字符串的地址类型将在DB中创建。

2 个答案:

答案 0 :(得分:1)

后端的好方法可以验证从任何网络请求获得的所有内容,因为您无法判断它是来自您的网站或其他来源(甚至是某些恶意内容)的好请求攻击)。后端必须保护自己并验证它所获得的一切。

除此之外,在某些(如果不是全部)情况下,在前端方面进行一些验证也是一件好事,一个原因是,如果你有一个请求,你知道后端正在进行失败 - 在你做一个昂贵的请求之前先省去麻烦并检查一下

答案 1 :(得分:0)

<强>原因 前端验证:在服务器上验证,用户必须等待无效数据的响应。

后端验证:确保入侵者无法改变数据。

验证@database结束:像Mongoose一样提供内置和自定义验证。

根据要求,我们必须在用户个人资料更新之前交叉检查数据。