我可以在xxxx-validation.xml中为List配置validation吗?
现在在我的保存操作中,我定义了一个名为预订的模型,如下所示:
Class BookingAction { private Booking booking; ... } Class Booking { private String bookingNo; private String status; ... private Listparts = new ArrayList(); ... } Class Part { private String partNo; ... }
我还为该操作定义了一个validationxml文件,例如
true ${getText("MandatoryFieldEmpty",{"%{getText(\"BookingMain.status\")}"})} true ${getText("MandatoryFieldEmpty",{"%{getText(\"BookingMain.bookedBy\")}"})} ....
我也可以为Part定义这种配置吗?
零件在列表中,列表是Booking的属性,是否有人可以告诉我是否可以在BookingAction-validation.xml中进行Part的validation?
您可以使用访客validation器 ;
您应该在BookingAction-validation.xml
添加与parts
对象相关的
片段以激活访问者validation;
然后,您需要在Part
Object的包(而不是Action
对象的包) 下创建Part-validation.xml
,并为其指定单个Part元素的规则。
Struts2 Validation Interceptor
将使用第二个文件来validationList的每个元素。
作为一个很好的副作用,如果你在另一个Action
包含一个List
对象,你对Part
对象的validation就已经存在了,不需要在另一个文件中重写它(你只需要在你的文件中声明validation器片段) Action-validation.xml文件)。
编辑
您可以指定不同的上下文,以便通过使用更具体的Bean-context-validation.xml
文件来触发对同一bean的进一步补充validation,仅在某些特定情况下。
阅读此详细示例 ,尤其是Visitor Validation Example
(以及Visitor Validation with the Expression Validator
的以下Visitor Validation with the Expression Validator
)部分。
- JAXB List Tag创建内部类
- TDD:为什么让应用程序代码知道它正在测试,而不是运行,这可能是错误的?
- 使用p:calendar在jsf h:datatable中进行交叉字段validation
- Java Reflection Beans Property API
- 如何在Java中使用bitshifting
- Spring Boot – 环境@Autowired抛出NullPointerException
- 使用new关键字创建的Spring bean(@Component)中的自动assembly
- 在Java中转换为generics类型不会引发ClassCastException?
- 如何使JTable列包含复选框?