3***@qq.com
3***@qq.com
  • 发布:2022-10-02 09:57
  • 更新:2022-10-02 09:57
  • 阅读:341

扩展校验函数validateFunction不执行是什么原因啊

分类:uniCloud

用索引做的值唯一性校验提示不友好,且会泄露表名,所以想通过扩展校验函数validateFunction来做入库前校验,可是发现无论是本地还是云端都不执行校验,console.log也不会输出,好像根本就没有运行函数,有人知道是什么原因吗?

// 异步校验 await/async  
module.exports = async function (rule, value, data) {  
    console.log('check到了');  
    return '菜单名称已经存在!'  
    let db = uniCloud.database();  
    let res = db.collection('column-list').where({name:value}).get();  
    console.log(res.count);  
    console.log(res['code']);  
    if (res.count == 0) {  
        // 校验通过  
        return true  
    } else {  
        // 校验失败  
        return '菜单名称已经存在!'  
    }  
}

schema2code代码

        "name": {  
            "bsonType": "string",  
            "description": "菜单名称",  
            "trim": "both",  
            "maxLength":4,  
            "label":"菜单名称",  
            "validateFunction": {  
                "name": "check_column_name" // 扩展校验函数名  
                 "client": false //如果不配置默认是 true  
            },  
            "errorMessage": {  
                "required": "请输入菜单名称",  
                "maxLength": "菜单名称不能超过4个字符"  
              }  
        },
2022-10-02 09:57 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复