Appearance
ValidateNull
判断变量是否为空,为空时抛出异常,数据格式由HttpFlow决定。
业务属性
属性 | 含义 | 说明 | 输入限定 | 示例值 |
---|---|---|---|---|
enable | 是否启用该控件,未启用时不编译 | 是否编译 | 选择值 | 启用 |
name | 控件返回值命名 | 控件输出值变量名 | 常量 | isIdentNo |
text | 与控件关联的文本 | 设计页控件显示 | 常量 | ValidateIdentNo |
object | 断言Map | 可判断空字符串或空值 | 变量名:流程变量(不用#{}) 变量不存在时的异常信息: 常量 /流程变量 验证类型: 选择值 | 变量名:str 变量不存在时的异常信息:str is empty 验证类型:空字符串 |
object是一个Map对象,可按顺序依次判断多个变量。
使用示例
ValidateNull控件只负责抛出异常信息。 将异常信息的捕获、封装、返回,需先将设置HttpFlow的属性exceptionReturn为:
json
{
"err": "#{err}"
}
{
"err": "#{err}"
}

常量异常
验证空值
设置object:
判断body.param
、body.object
两个变量是否为空值,对应的异常信息依次输入param is null
、object is null
:

使用curl请求接口:
$ curl http://localhost:6636/api/validateNull -d "{ \"param\": true }"
$ curl http://localhost:6636/api/validateNull -d "{ \"param\": true }"
此时object
为空值,接口返回:
json
{
"err": "..\\engine/src/webapps/api/validateNull.lua:18: object is null"
}
{
"err": "..\\engine/src/webapps/api/validateNull.lua:18: object is null"
}
使用curl请求接口:
$ curl http://localhost:6636/api/validateNull -d "{ \"object\": true }"
$ curl http://localhost:6636/api/validateNull -d "{ \"object\": true }"
此时param
为空值,接口返回:
json
{
"err": "..\\engine/src/webapps/api/validateNull.lua:18: param is null"
}
{
"err": "..\\engine/src/webapps/api/validateNull.lua:18: param is null"
}
验证空字符串
设置object:
判断body.str1
、body.str2
两个变量是否为空字符串,异常信息输入str1 is empty
、str2 is empty

使用curl请求接口:
$ curl http://localhost:6636/api/validateNull -d "{ \"str1\": \"\",\"str2\": \"orapis\" }"
$ curl http://localhost:6636/api/validateNull -d "{ \"str1\": \"\",\"str2\": \"orapis\" }"
此时str1
为空字符串,接口返回:
json
{
"err": "..\\engine/src/webapps/api/validateNull.lua:17: str1 is empty"
}
{
"err": "..\\engine/src/webapps/api/validateNull.lua:17: str1 is empty"
}
使用curl请求接口:
$ curl http://localhost:6636/api/validateNull -d "{ \"str1\": \"orapis\",\"str2\": \"\" }"
$ curl http://localhost:6636/api/validateNull -d "{ \"str1\": \"orapis\",\"str2\": \"\" }"
此时str2
为空字符串,接口返回:
json
{
"err": "..\\engine/src/webapps/api/validateNull.lua:17: str2 is empty"
}
{
"err": "..\\engine/src/webapps/api/validateNull.lua:17: str2 is empty"
}
构建异常
我们也可以使用StringFormat来构建异常
StringFormat的返回值命名为:errorMsg
,表达式输入:object is null, id is %s
,变量使用body请求中的id:#{body.id}

然后设置object,在Map中的异常信息中引用它:

使用curl请求接口:
$ curl http://localhost:6636/api/validateNull -d "{ \"id\": 000 }"
$ curl http://localhost:6636/api/validateNull -d "{ \"id\": 000 }"
此时object
为空值,id
为000
,接口返回:
json
{
"err": "..\\engine/src/webapps/api/validateNull.lua:21: object is null, id is 0"
}
{
"err": "..\\engine/src/webapps/api/validateNull.lua:21: object is null, id is 0"
}