我在 web 应用程序中使用struts 2.2.3 。我想对从 UI 提交的表单数据使用基于 struts2 注释的验证。场景是:用户填写所有表单字段并单击提交按钮。我创建了一个 Person 类来存储注册表单数据和 RegistrationAction 来触发注册逻辑。RegistrationAction 使用受尊重的 getter/setter 持有对 person 对象的引用。请建议如何在表单提交后验证 Person 类的各个字段,使用 struts 2 注释。
谢谢。
我在 web 应用程序中使用struts 2.2.3 。我想对从 UI 提交的表单数据使用基于 struts2 注释的验证。场景是:用户填写所有表单字段并单击提交按钮。我创建了一个 Person 类来存储注册表单数据和 RegistrationAction 来触发注册逻辑。RegistrationAction 使用受尊重的 getter/setter 持有对 person 对象的引用。请建议如何在表单提交后验证 Person 类的各个字段,使用 struts 2 注释。
谢谢。
尝试使用注释的fieldName
属性来制作它。Validations
类似于以下内容:
@Validations(
requiredFields =
{@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "person.name", message = "You must enter a value name.")}
)
请参考以下链接以供进一步参考:
关于 setter 方法的使用
@RequiredFieldValidator(type=ValidatorType.FIELD, message="your message here")
@Validations(...) 的 @Validator 不需要
你提到了一个单独的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;
}