validators.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator Definition 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd"> <validators> <validator name="passwordintegrity" class="com.jaeson.struts.validator.PasswordIntegrityValidator" /> </validators>
import java.util.regex.Pattern; import java.util.regex.Matcher; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; public class PasswordIntegrityValidator extends FieldValidatorSupport { static Pattern digitPattern = Pattern.compile("[0-9]"); static Pattern letterPattern = Pattern.compile("[a-zA-Z]"); static Pattern specialDefaultPattern = Pattern.compile("[!@#$]"); @Override public void validate(Object object) throws ValidationException { String fieldName = this.getFieldName(); String fieldValue = (String) this.getFieldValue(fieldName, object); fieldValue = fieldValue.trim(); Matcher digitMatcher = digitPattern.matcher(fieldValue); Matcher letterMatcher = letterPattern.matcher(fieldValue); Matcher specialMatcher; if (this.getSpecialCharacter() != null) { Pattern specialPattern = Pattern.compile("[" + this.getSpecialCharacter() + "]"); specialMatcher = specialPattern.matcher(fieldValue); } else { specialMatcher = specialDefaultPattern.matcher(fieldValue); } if (!digitMatcher.find()) { this.addFieldError(fieldName, object); } else if (!letterMatcher.find()) { this.addFieldError(fieldName, object); } else if (!specialMatcher.find()) { this.addFieldError(fieldName, object); } } private String specialCharacter; public String getSpecialCharacter() { return specialCharacter; } public void setSpecialCharacter(String specialCharacter) { this.specialCharacter = specialCharacter; } }
validators.xml放在与struts.xml相同的目录下
相关推荐
struts中自定义validator验证 <br>很多时候需要验证“密码”与“重复密码”是否一致,如果放在服务器端验证就浪费资源了。 如何在客户端进行验证呢?JS可以实现,但是struts的validator框架是否能实现呢?-见...
本文将详细介绍Struts验证器Validator的使用,包括基础配置、自定义验证器的创建,以及如何在Maven项目中管理和使用Eclipse进行编译。 **一、Struts验证器Validator的基本概念** Struts Validator是Struts框架提供...
### Struts1的Validator验证框架详解 ...然而,随着技术的发展,现代Web应用可能更倾向于使用Spring MVC、AngularJS等新兴框架,但Struts1的Validator框架依然有其不可替代的价值,特别是在遗留系统维护和优化方面。
在本文中,我们将深入探讨如何在Struts中使用Validator框架,并通过三个逐步进阶的实例来理解其工作原理。 首先,我们来看第一个实例——Validator_Struct_01。在这个基础案例中,我们将了解如何设置基本的...
3. **配置struts-config.xml**:在项目的`struts-config.xml`配置文件中,你需要将自定义的ActionForm与相应的Action进行关联,并指定表单验证使用的ActionForm类。同时,可以在这里配置全局错误消息,以及默认的...
在这个压缩包的文件列表中,很可能是各个视频文件,详细讲解了如何配置和使用Struts的Validator组件,包括: - 如何设置Validator规则文件 - 如何创建验证所需的Java表单bean - 如何在struts-config.xml中配置动作...
- XML配置:在`struts.xml`或相应的Action配置文件中,使用`<validators>`标签定义自定义校验器,通过`<field-validator>`指定需要应用该校验器的字段。 - 注解配置:在Action类的属性上使用自定义注解,通过注解...
下面我们将详细介绍Struts1.3中Validator的使用和与Struts1.2的区别。 1. 配置文件:在Struts1.3中,Validator的配置通常位于`validation.xml`文件中,这里定义了验证规则和错误消息。每个ActionForm对应一个验证...
5. **自定义验证器**:除了预定义的验证类型,开发者还可以通过创建自定义Validator类来扩展验证功能。这可以通过设置`type`属性为自定义类的全限定名,并在`param`子元素中传递必要的参数。 6. **验证流程**:当...
此外,Struts的Validator框架还支持自定义验证器。你可以通过实现`FieldAwareValidator`接口或继承`FieldAwareValidatorSupport`类来自定义自己的验证规则,满足更复杂的业务需求。 TestHib可能是一个测试Hibernate...
在Bean的属性上使用`@Validate`注解(如果使用的是Struts-Validator框架,否则是JSR-303或JSR-349的注解)来指定验证规则。 4. **配置Struts配置文件**:在`struts-config.xml`中,配置ActionForm指向刚刚创建的...
除了Struts,Struts Validator还可以与其他MVC框架(如Spring MVC)结合使用,通过适配器或AOP机制实现验证逻辑的共享。 7. **最佳实践** - 将验证逻辑与业务逻辑分离,以保持代码的清晰性和可维护性。 - 使用...
为了实现自定义的验证器,首先需要继承或实现 Struts2 的 Validator 接口。该接口定义了一些基本的方法,用于处理验证过程中的各种逻辑。例如,下面展示了这个接口的基本结构: ```java public interface Validator...
自定义验证器通常是一个实现了`org.apache.struts2.validator.Validator`接口的Java类。你需要覆盖`validate`方法,该方法接受一个`ActionContext`对象和`FieldErrors`对象,用于存放验证错误。在这个方法内,编写...
自定义验证器需要实现org.apache.struts.validator.Validator接口,并在ValidatorRule.xml中引用。 五、错误处理 当验证失败时,Struts会将错误信息添加到ActionErrors集合中。在JSP页面中,可以通过logic:errors...
Struts的Validator框架是Java Web开发中的一个关键组件,它主要负责处理用户在表单中输入的数据验证。这个框架提供了一种结构化的方式来定义验证规则,并且能够自动生成相应的错误消息,大大简化了开发人员的工作。 ...
要使用Struts Validator,首先需要在项目中包含特定的JAR文件,包括`jakarta-oro.jar`和`commons-validator.jar`。这些库为验证功能提供了基础支持。此外,Struts Validator还依赖于两个XML配置文件:`validator-...
这段代码指示 Struts 使用 `ValidatorPlugIn` 类,并指定了两个配置文件的位置:`validator-rules.xml` 和 `validation.xml`。`validator-rules.xml` 文件定义了各种预置的验证器,而 `validation.xml` 文件则根据...
本练习主要关注如何在Struts2中实现自定义的数据类型转换,以满足特定业务需求。 首先,我们需要了解Struts2的数据转换机制。当用户提交表单数据时,Struts2会通过ActionContext获取到这些数据,并尝试将其转换为...
四、自定义Validator 除了内置的验证器,Struts2也允许开发者创建自定义验证器。这可以通过实现`Validator`接口或继承`FieldAwareValidator`抽象类来完成。 五、国际化错误消息 Struts2允许使用资源包(properties...