我有一个-validation.xml
文件来检查表单的字段是否为空以及那种简单的验证。我还有validate()
方法(从ActionSupport
扩展)以检查更复杂的事情。但是当我发送表单时,它会检查XML文件之前的方法,因此如果字段为空,则会显示NullPointerException
。至少这就是我认为正在发生的事情。
所以我的问题是,有没有办法改变验证的顺序,所以在方法之前检查XML?
编辑:我有想法检查validate()
方法中字符串是否为空,这样我可以避免这个问题,但我认为这不是最明智的做法做。
答案 0 :(得分:3)
拦截器首先检查XML,但如果发现错误,IIRC不会停止验证。我相信我有一个补丁,用旗帜控制。
我之前通过检查validate
方法中的错误而不是在错误存在的情况下继续解决了这个问题。
答案 1 :(得分:1)
订单始终是一个,即硬编码订单。验证过程由ValidationInterseptor(至少版本2.3.8)执行。首先检查声明性验证是否已启用并执行,然后检查是否启用了编程验证然后执行此操作。您可以通过拦截器参数打开/关闭每种类型的验证。