ENUM 验证 spring 表达式语言
Posted
技术标签:
【中文标题】ENUM 验证 spring 表达式语言【英文标题】:ENUM validation spring expression language 【发布时间】:2015-06-14 08:32:33 【问题描述】:我正在尝试验证一个内部映射到 ENUM businessType
内部服务的 json 字段。我无法在 SpEL 中编写逻辑来断言 business_type
json 字段是 businessType
枚举之一
我尝试使用instanceof
,但它只验证输入是否是 BusinessDetails 类的“实例”,而不是验证它是否是 BusinessDetails.BusinessType 中的枚举之一
<property name="isValid" value="(#element.businessType instanceof (com.paypal.platform.ops.model.BusinessDetails$BusinessType))" />
请建议我如何验证输入是否为定义的 ENUM 类型之一。 感谢您的意见!
【问题讨论】:
你能提供一些你的枚举和json对象的示例代码吗? 【参考方案1】:您可以使用Collection Selection根据您的#element.businessType
过滤BusinessType.values()
的列表:
T(com.paypal.platform.ops.model.BusinessDetails$BusinessType).values().?[name()==#element.businessType].length==1
如果过滤后的数组不为空,那么您的#element.businessType
必须有效,否则数组将为空。
【讨论】:
以上是关于ENUM 验证 spring 表达式语言的主要内容,如果未能解决你的问题,请参考以下文章