validation.xml之后的validate()方法

时间:2013-05-12 16:21:50

标签: java xml validation struts2 nullpointerexception

我有一个-validation.xml文件来检查表单的字段是否为空以及那种简单的验证。我还有validate()方法(从ActionSupport扩展)以检查更复杂的事情。但是当我发送表单时,它会检查XML文件之前的方法,因此如果字段为空,则会显示NullPointerException。至少这就是我认为正在发生的事情。

所以我的问题是,有没有办法改变验证的顺序,所以在方法之前检查XML?

编辑:我有想法检查validate()方法中字符串是否为空,这样我可以避免这个问题,但我认为这不是最明智的做法做。

2 个答案:

答案 0 :(得分:3)

拦截器首先检查XML,但如果发现错误,IIRC不会停止验证。我相信我有一个补丁,用旗帜控制。

我之前通过检查validate方法中的错误而不是在错误存在的情况下继续解决了这个问题。

答案 1 :(得分:1)

订单始终是一个,即硬编码订单。验证过程由ValidationInterseptor(至少版本2.3.8)执行。首先检查声明性验证是否已启用并执行,然后检查是否启用了编程验证然后执行此操作。您可以通过拦截器参数打开/关闭每种类型的验证。