实战教程|数据校验 - 步入高阶开发的必修课

做者:张泽栓
首发于知晓云公众号,阅读原文小程序

数据校验是为保证数据的完整性、合法性进行的一种验证操做。方法不少,都很繁琐。本着为你解决后端那些麻烦事儿的初心。知晓云隆重推出开年以来第一个重大更新——「校验器」。segmentfault

  • 知晓云内置的 ACL 权限控制和数据表字段属性规则可轻松应对简单的权限控制、字段校验;
  • 校验器在此基础上支持编写自定义校验逻辑以处理逻辑复杂、安全性要求高的业务场景;
  • 校验器的处理彻底在云服务器上进行,安全、可靠;
  • 校验器和云函数组合使用,让数据校验逻辑与业务逻辑解耦,代码管理更轻松。

本文将以电商后台订单的校验处理为例,带你快速解锁新知识。后端

校验器简述

校验器用于数据建立、更新、删除等操做时校验操做的合法性,能够很是方便地处理权限复杂、安全性要求高的场景。数据表关联了校验器后,在进行正常的数据操做时,存储引擎会自动调用该校验器进行校验。校验器经过返回truefalse或抛出错误来对操做合法性作出评判。只有当校验器返回true时,操做才能继续正常进行下去,有效拦截非法操做。api

使用校验器的好处

在权限控制、字段校验上,知晓云经过 ACL 权限设定和字段属性规则,能够很是方便地对通常场景进行处理。如,帖子数据表,全部用户均可以建立帖子,但帖子只有帖子建立者才能修改,其余用户只能查看,这个经过 ACL 的规则设定便可完成;建立修改帖子时,帖子标题须要大于 10 个字,也能经过字段属性规则设定字符串长度限制完成。但若是是更加复杂一点的场景,如只有绑定了手机号的用户才能建立帖子,ACL 权限和字段属性规则就很差办了,这个时候,就要使用云函数,在云函数内编写代码来完成数据建立与更新的工做。数组

虽然问题获得了解决,但客户端、小程序端则要从使用 sdk 提供的数据操做接口,变成调用云函数调用接口,在 io 层的封装上更加复杂。安全

随着校验器的上线,这个问题能够得更加优雅的解决:客户端正常调用数据操做方法进行增删改,校验器自动被数据引擎调用执行。更进一步的,调用 open api、运营后台 api 时,校验器都会被执行,避免多端逻辑由于入口不一致的规则不统一问题。服务器

此外,相对于云函数,校验器的语法逻辑更简单。返回truefalse来进行断定便可。并且咱们还内置了校验模版。开发者只须要在模版的对应位置加入断定逻辑便可。微信

综上所述,校验器有如下几个优势:app

  1. 补充自带的 ACL 权限控制的不足,支持自定义规则,权限控制更增强大、细致。
  2. 数据校验逻辑与业务逻辑解耦。
  3. 建立方便、语法简单,官方提供模版,上手快。

校验器实战

只需两步,便可成功建立并使用校验器:函数

1. 在「知晓云」-「控制台」-「数据表」中建立校验器 。

2. 校验器建立成功后,进入编辑页面,只须要在默认提供的校验器模版代码对应的 handler 如 onCreate、onUpdate 等中加入断定逻辑便可。

下面是一个完整的校验器例子,实现了如下规则:

  1. 全部用户能够建立订单
  2. 只容许用户 1001 删除订单
  3. 禁止了批量建立、批量更新、批量删除
  4. 禁止取消已过时订单

以上。

若是你有其余需求,能够在知晓云产品路线图提交需求或添加客服微信(minsupport3)等方式告诉咱们,很是感谢你们一如既往的支持~
mincloud2019.png

相关文章
相关标签/搜索