提交 4c02a147 编写于 作者: d-u-a's avatar d-u-a

docs: update schema

上级 8e6ec861
......@@ -151,7 +151,7 @@ properties里的字段列表,每个字段都有很多可以设置的属性,
"description": "can only be one of the enum values and is required"
},
"gpa": {
"bsonType": ["double"],
"bsonType": "double",
"description": "must be a double if the field exists"
},
"address": {
......@@ -644,6 +644,8 @@ enum支持3种数据格式:
如下例中,当name字段的内容要入库前,就会触发执行 "checkabc" 这个 `扩展校验函数` 。如果"checkabc"校验没有返回true,则该次数据库操作会失败。
`validateFunction` 类型为字符串时,云端和客户端同时生效
```json
{
"bsonType": "object",
......@@ -661,6 +663,34 @@ enum支持3种数据格式:
}
```
`validateFunction` 类型为对象时,可配置客户端同不生效,云端仍然生效
> HBuilder 3.1.0+ 支持
```json
{
"bsonType": "object",
"required": ["name"],
"properties": {
"name": {
"bsonType": "string",
"label": "姓名",
"validateFunction": {
"name": "checkabc", // 扩展校验函数名
"client": false //如果不配置默认是 true
},
"errorMessage": {
"required": "{label}不能为空"
}
}
}
}
```
提示:如果配置了 `"client": false` 客户端也可以在生成的代码中改为自己的校验函数,此时客户端的校验仍然生效,客户端对应的校验文件目录为 `js_sdk/validator/collection``collection`为表名,非固定值
`扩展校验函数`是服务空间级的,一个`扩展校验函数`可以被这个服务空间下的任意表中的任意字段引用。
`扩展校验函数`里的代码是可以联网的。一个常见场景是内容的敏感词过滤,可以将内容提交到三方校验服务里,如果校验通过再入库。
......@@ -691,6 +721,7 @@ if (uni) {
}
```
#### 3. fieldRules字段间校验@field-rules
`HBuilderX 3.1.0`起,支持schema内配置一级节点fieldRules对字段之间的关系进行约束和校验。当然只校验一个字段也可以。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册