我目前有一个使用Webflow + Ajax的Spring Webflow应用程序。
我有一个名为“A”的视图状态,它有几个转换。
<view-state id="A" model="myClass">
<transition on="X1" .../>
<transition on="X2" .../>
<transition on="X3" .../>
</view-state>
问题是每次转换只应验证“myClass”的一部分,而不是全部。默认情况下,Spring Webflow有一个方法可以验证。
基本上我需要的是在每次转换时调用不同的验证方法,而不是只有一个。
这可能吗?关于如何做到这一点的任何想法?
提前致谢!!!
答案 0 :(得分:3)
为什么不将一个ValidationClass用于视图状态? 您可以通过调用
获取触发验证的事件public String getUserEvent();
在ValidationContext上。 然后,根据结果做任何你想要验证的内容。
答案 1 :(得分:1)
可以使用名为validatorMethod
的属性来指定要在验证器上调用的特定方法,如here所述。以下是来自Javadoc的修改示例,显示了如何执行此操作:
<view-state id="displayCriteria">
<on-render>
<evaluate expression="formAction.setupForm"/>
</on-render>
<transition on="search" to="executeSearch">
<evaluate expression="formAction.bindAndValidate">
<attribute name="validatorMethod" value="validateSearchCriteria"/>
</evaluate>
</transition>
</view-state>
这假设为searchFormAction
定义的验证器有一个名为validateSearchCriteria
的方法。