實戰教程|數據校驗 - 步入高階開發的必修課

做者:張澤栓
首發於知曉雲公衆號,閱讀原文小程序

數據校驗是爲保證數據的完整性、合法性進行的一種驗證操做。方法不少,都很繁瑣。本着爲你解決後端那些麻煩事兒的初心。知曉雲隆重推出開年以來第一個重大更新——「校驗器」。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

相關文章
相關標籤/搜索