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"
}