我们使用 Struts 2 验证和大量自定义验证来验证我们的表单。
@Validations(
customValidators =
{ @CustomValidator(type = "AccountFormat", fieldName = "accountNo") }
)
我们还可以通过重写验证方法来手动验证表单
public void validate() {
//Username can't be blank
if(username.equals("")) {
addFieldError("username", "The Username can't be empty");
}
是否可以在 validate()
中调用自定义验证
。
为什么我们需要它?! 所有验证规则都包含在自定义验证中,这是完美的。有一些表格需要自己的手动验证。我们最终也在这些手动验证表单中剪切并粘贴了一些自定义验证规则,如果我们可以在此处调用验证,那就最好了
最佳答案
当然,您可以创建自定义验证器的实例,设置所需的属性(字段名称、值堆栈等)并调用 validate
方法...
但这不是处理此类情况的最佳方法。如果您需要验证操作上下文之外的值(例如在某些 Web 服务中),您将做什么?
更好的解决方案是将验证逻辑从自定义验证器提取到某个单独的类,您可以从代码中的任何位置调用该类,并将 Struts2 自定义验证器编写为调用该类的包装器。
关于validation - Struts 2 在操作中手动调用自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29603916/