跳到主要内容

表单校验

说明

什么是表单校验

表单校验是指对表单字段的校验。

表单校验脚本

表单校验脚本分为,校验脚本,保存前校验脚本,保存后校验脚本,可以在界面配置的的表单设置中配置:

触发表单校验脚本

编辑事项时实时校验:

保存事项时校验:

Script Params

能够在脚本中直接使用以下参数:

名称类型说明
formValObject表单的value值
originalFormValObject表单保存前的value值
ancestorsString[]父事项的id数组
createdAtString创建时间
userUser创建人信息

Api Reference

judgeAncestorsStatus

表单验证时,判断当前子卡片父卡片状态,是否在状态之后

参数定义:

名称类型必填说明
ancestorOptionObject参数集合
ancestorOption.ancestorsString[]父事项的id数组
ancestorOption.statusIdString状态id

返回:

JudgeResult - 判断结果

interface JudgeResult {
resultFlag: boolean
}

用法:

const ancestorOption = {
ancestors,
statusId: '1',
}
const {resultFlag} = await apis.judgeAncestorsStatus(ancestorOption);
if(resultFlag) {
throw new Error('这是一个错误信息')
}

getRolesByUserId

获取用户角色

参数定义:

名称类型必填说明
userIdString用户Id

返回:

Role[] - 用户系统角色

用法:

const roles = await apis.getRolesByUserId(user.objectId);
const notMatch = !roles.find(role => role.name === 'QA' );
if(notMatch){
throw new Error('这是一个错误信息')
}

getItem

获取卡片信息

参数定义:

名称类型必填说明
itemIdString事项id

返回:

ItemJSONObject - 事项数据

用法:

const data = await apis.getItem(itemId);
if(data.name !== '事项名称'){
throw new Error('这是一个错误信息')
}

getWorkspaceNames

获取全部空间名称

参数定义:

名称类型必填说明
workspaceNameString空间名称

返回:

string[] - 空间名称列表

用法:

const workspaceNames = await apis.getWorkspaceNames();
if(workspaceNames.length<=0) {
throw new Error('这是一个错误信息')
}

checkWorkspaceName

检查空间名称是否存在

参数定义:

名称类型必填说明
workspaceNameString空间名称

返回:

CheckResult - 校验的结果

interface {
isExist: boolean;
}

用法:

const {isExist} = await apis.checkWorkspaceName(formVal.workspace.name);
if(isExist){
throw new Error('空间名称已存在')
}

requestCoreApi

对外提供直接调用 core 接口能力,对外暴露 GET/POST/PUT/PATCH 方法

参数定义:

名称类型必填说明
methodStringGET/POST/PUT/PATCH
urlString请求的url
dataObject请求的数据

用法:

const result = await apis.requestCoreApi('POST', '/parse/api/search/structure', data);
console.log(result)