验证 mule 3 dataweave 1.0 中的整数值
validate integer value in mule 3 dataweave 1.0
我想将字段值验证为整数并将测试值设为整数。在下面的代码中,如果字段值为字符串,那么我会收到错误消息。在这里我需要配置如果值不是整数然后使测试值为 "" .
%dw 1.0
%output application/json
%var field="2312321a"
%function isEmpty(value) (value!=null and value!="")
---
{
test: field as :number as :string {format: "###"} as :number when isEmpty(field) otherwise ""
}
预期:例如:123.44--> 123, 1234-> 1234, 123ab-> "", "" -> ""
您可以使用正则表达式来验证字符串是否仅包含数值。这是一个可用于此目的的正则表达式。它也会处理负值。
/[+-]?([0-9]*[.]?[0-9]+)/
并使用 matches
检查字符串是否为数字。
%dw 1.0
%output application/json
%var field="2312321a"
%function isNumeric(string) string matches /[+-]?([0-9]*[.]?[0-9]+)/
---
{
test: field as :number as :string{format: "###"} as :number when isNumeric(field) otherwise ""
}
我想将字段值验证为整数并将测试值设为整数。在下面的代码中,如果字段值为字符串,那么我会收到错误消息。在这里我需要配置如果值不是整数然后使测试值为 "" .
%dw 1.0
%output application/json
%var field="2312321a"
%function isEmpty(value) (value!=null and value!="")
---
{
test: field as :number as :string {format: "###"} as :number when isEmpty(field) otherwise ""
}
预期:例如:123.44--> 123, 1234-> 1234, 123ab-> "", "" -> ""
您可以使用正则表达式来验证字符串是否仅包含数值。这是一个可用于此目的的正则表达式。它也会处理负值。
/[+-]?([0-9]*[.]?[0-9]+)/
并使用 matches
检查字符串是否为数字。
%dw 1.0
%output application/json
%var field="2312321a"
%function isNumeric(string) string matches /[+-]?([0-9]*[.]?[0-9]+)/
---
{
test: field as :number as :string{format: "###"} as :number when isNumeric(field) otherwise ""
}