3

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

谢谢。

4

4 回答 4

1

尝试使用注释的fieldName属性来制作它。Validations类似于以下内容:

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

请参考以下链接以供进一步参考:

Struts2 验证-注解

于 2012-01-11T04:59:33.973 回答
1

关于 setter 方法的使用

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

@Validations(...) 的 @Validator 不需要

于 2012-02-17T05:11:21.780 回答
0

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

请参阅基于注释的官方验证文档。

验证-注解

于 2012-01-11T04:59:30.493 回答
0

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

例如在动作

@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;
}
于 2015-03-05T21:34:02.387 回答