Skip to content

ValidateNull

判断变量是否为空,为空时抛出异常,数据格式由HttpFlow决定。

业务属性

属性含义说明输入限定示例值
enable是否启用该控件,未启用时不编译是否编译选择值启用
name控件返回值命名控件输出值变量名常量isIdentNo
text与控件关联的文本设计页控件显示常量ValidateIdentNo
object断言Map可判断空字符串或空值变量名流程变量(不用#{})
变量不存在时的异常信息常量/流程变量
验证类型选择值
变量名str
变量不存在时的异常信息str is empty
验证类型空字符串

object是一个Map对象,可按顺序依次判断多个变量。

使用示例

ValidateNull控件只负责抛出异常信息。 将异常信息的捕获、封装、返回,需先将设置HttpFlow的属性exceptionReturn为:

json
{
  "err": "#{err}"
}
{
  "err": "#{err}"
}
img_91.png

常量异常

验证空值

设置object

判断body.parambody.object两个变量是否为空值,对应的异常信息依次输入param is nullobject is null

img_8.png

使用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.str1body.str2两个变量是否为空字符串,异常信息输入str1 is emptystr2 is empty

img_121.png

使用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}

img_10.png

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

img_11.png

使用curl请求接口:

$ curl http://localhost:6636/api/validateNull -d "{ \"id\": 000 }"
$ curl http://localhost:6636/api/validateNull -d "{ \"id\": 000 }"

此时object为空值,id000,接口返回:

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