Struts 2.2.3基于注释的验证

时间:2012-01-11 03:18:17

标签: struts2 struts-validation

我在网络应用程序中使用 struts 2.2.3 。我想对从UI提交的表单数据使用基于struts2注释的验证。场景是: 用户填写所有表单域,然后单击“提交”按钮。 我创建了一个Person类来存储注册表单数据和RegistrationAction,它触发了注册逻辑。 RegistrationAction持有对具有受尊重的getter / setter的person对象的引用。 请使用struts 2注释建议如何在表单提交后验证Person类的各个字段。

感谢。

4 个答案:

答案 0 :(得分:1)

尝试使用fieldName注释的Validations属性进行创建。如下所示:

@Validations( requiredFields = {@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "person.name", message = "You must enter a value name.")} )

请参阅以下链接以获取更多参考:

Struts2 Validation-annotation

答案 1 :(得分:1)

在setter方法上使用

@RequiredFieldValidator(type=ValidatorType.FIELD, message="your message here")

@Validations的@Validator(...)没有必要

答案 2 :(得分:0)

您是否尝试过Struts2验证注释。它非常简单直接您需要的是在类级别定义@Validation()注释并根据您的用例应用标准或自定义注释。

参考官方注释验证文件。

Validation-Annotation

答案 3 :(得分:0)

你提到了一个单独的Person类,所以我猜这是一个模型驱动的Action或在Action类中使用类似setPerson的函数。如果要验证Person中的各个字段,则需要在相关的Action方法中使用VisitorFieldValidator,然后在Person对象本身上放置字段验证。

例如在Action

@VisitorFieldValidator(message = "")
public void setPerson(Person person) {
    this.person = person;
}

并在Person

@RequiredFieldValidator(message = "Last name is required.")
public void setLastName(String lastName) {
    this.lastName = lastName;
}