From f58e81580cf8c51666eb48300de2caa294c62f21 Mon Sep 17 00:00:00 2001 From: wangyaqi Date: Sat, 31 Oct 2020 11:00:15 +0800 Subject: [PATCH] docs: clientDB --- docs/uniCloud/database.md | 2 +- docs/uniCloud/schema.md | 54 +++++++++++++++++++-------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/docs/uniCloud/database.md b/docs/uniCloud/database.md index 81677477c9..0fa1d4e515 100644 --- a/docs/uniCloud/database.md +++ b/docs/uniCloud/database.md @@ -1041,7 +1041,7 @@ db.collection('order') ## action@action -action的作用是在执行前端发起的数据库操作时,额外触发一段云函数逻辑。它是一个可选模块。 +action的作用是在执行前端发起的数据库操作时,额外触发一段云函数逻辑。它是一个可选模块。action是运行于云函数内的,可以使用云函数内的所有接口。 当一个前端操作数据库的方式不能完全满足需求,仍然同时需要在云端再执行一些云函数时,就在前端发起数据库操作时,通过`db.action("someactionname")`方式要求云端同时执行这个叫someactionname的action。还可以在权限规则内指定某些操作必须使用指定的action,比如`"action in ['action-a','action-b']"`,来达到更灵活的权限控制。 diff --git a/docs/uniCloud/schema.md b/docs/uniCloud/schema.md index 3519d8e871..8ac7d491ae 100644 --- a/docs/uniCloud/schema.md +++ b/docs/uniCloud/schema.md @@ -336,39 +336,39 @@ uniCloud推出了`openDB`开源数据库规范,包括用户表、文章表、 2. 底部 “扩展校验函数” 点击 “+” 增加校验函数 ![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-uni-app-doc/2f4d0230-12a2-11eb-b244-a9f5e5565f30.png) -给函数起个名字,比如叫“checkabc”,然后写具体的js代码,如下 - -``` -// 扩展校验函数示例 -exports = function (rule, value, data, callback) { - // rule 当前规则 - // value 当前规则校验数据 - // data 全部校验数据 - // callback 可选,一般用于自定义 errorMessage,如果执行了callback return 值无效,callback 传入的 message 将替换 errorMessage - // callback(new Error('message')) 传入 Error 类型时校验不通过 - // callback('message') 传入 String 类型时通过 - return value.length < 10 -} -``` + 给函数起个名字,比如叫“checkabc”,然后写具体的js代码,如下 + + ```js + // 扩展校验函数示例 + exports = function (rule, value, data, callback) { + // rule 当前规则 + // value 当前规则校验数据 + // data 全部校验数据 + // callback 可选,一般用于自定义 errorMessage,如果执行了callback return 值无效,callback 传入的 message 将替换 errorMessage + // callback(new Error('message')) 传入 Error 类型时校验不通过 + // callback('message') 传入 String 类型时通过 + return value.length < 10 + } + ``` 3. 在表结构 schema 编辑页面中的`validateFunction`属性中配置上面编写的 扩展校验函数 的名称,保存生效 -```json -{ - "bsonType": "object", - "required": ["name"], - "properties": { - "name": { - "bsonType": "string", - "label": "姓名", - "validateFunction": "checkabc", - "errorMessage": { - "required": "{label}不能为空" + ```json + { + "bsonType": "object", + "required": ["name"], + "properties": { + "name": { + "bsonType": "string", + "label": "姓名", + "validateFunction": "checkabc", + "errorMessage": { + "required": "{label}不能为空" + } } } } -} -``` + ``` `validateFunction`里的代码是可以联网的。一个常见场景是内容的敏感词过滤,可以将内容提交到三方校验服务里,如果校验通过再入库 -- GitLab