周末感冒了重感冒都要吐血了,猫在家里面养病的时候顺手翻了一下前阵子看到的两个东西:Commons-Validator,EC,花了半天时间翻过了CV的文档,模仿他的例子做了个登陆的验证,做完后感言万分.
我还是第一次写那么麻烦的配置文件:
xml 代码
- <validator name="emailValidator"
- classname="net.pingsoft.atomic.SimpleValidateFormEmailWrapper"
- method="doEmailValidate" msg="{0}项不是一个正确的Email地址"
- methodParams="java.lang.Object,org.apache.commons.validator.Field" />
开始觉得SS1时文档里的语录:"严重BScv的配置文件只顾XML解析器方便不顾程序员方便的写法"严重同意!CV的结构就是这个配置文件的展示,层次结构比较郁闷,如上面配置一个validator就杀去那么多行~幸好有现成的可以用不然第一次写的人肯定要吐血死去.下面是在荒郊野岭中使用纯servlet和jodd这个小东西做的控制器:
java 代码
- Customer customer = new Customer();
-
- BeanUtil.load(customer, request);
-
- ValidatorResources resources = new ValidatorResources(getClass().getClassLoader().getResourceAsStream(
- "VCustomer.xml"));
- Validator validator = new Validator(resources, "simpleValidateForm");
- validator.setParameter(Validator.BEAN_PARAM, customer);
-
- ValidatorResults results = validator.validate();
-
- List errors = new ArrayList();
-
- for (Object property : results.getPropertyNames()) {
-
-
- ValidatorResult r = results.getValidatorResult(property.toString());
-
-
- Arg[] args = r.getField().getArgs("");
- Object[] errorArg = new Object[args.length];
- for (int i = 0; i < args.length; i++) {
- errorArg[i] = args[i].getKey();
- }
-
- for (Object o : r.getField().getDependencyList()) {
- if (!r.isValid((String) o)) {
- ValidatorAction action = resources.getValidatorAction((String) o);
- String errorMsg = action.getMsg();
-
- String error = MessageFormat.format(errorMsg, errorArg);
- errors.add(error);
- }
- }
- }
MessageFormat用起来真是麻烦,不过貌似比较强大,ResourceBundle挺无聊的说...
今天忽然就想写些东西不过想了半天不知道写到那里,忽然想起javaeye哈
分享到:
相关推荐
表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-validator-1.3.1表单验证控件commons-...
commons-validator-1.3.0.jar commons-validator-1.3.0.jar
Apache Commons-Validator 是一个强大的Java验证框架,常用于处理Web应用程序中的数据验证。它可以从Apache Commons项目中获取,是Struts 1.x框架的一部分,但也可以独立使用在其他任何需要验证逻辑的应用中。该框架...
6. **源码分析(Source Code)**:提供的`commons-validator-1.3.1-src.gz`文件包含源代码,这使得开发者可以深入理解内部工作原理,进行定制化开发,或者排查可能出现的问题。 7. **API文档**:虽然没有直接给出,...
commons-validator.jar
commons-validator-1.3.1.jar
jar包大小:135KB commons-validator-1.3.1.jar jar包大小:93KB commons-transaction-1.2.jar jar包大小:141KB commons-scxml-0.6.jar jar包大小:254KB commons-primitives-1.0.jar jar包大小:60KB commons-pool-1.3....
5. **JAR文件**:压缩包中通常会包含编译后的`commons-validator-1.3.1.jar`,这是可以直接在项目中使用的二进制库,包含了所有验证功能的实现。 6. **依赖库**:可能还包括`lib`目录,其中包含Validator运行所需的...
"commons-validator"是Apache Commons项目中的一个组件,主要负责数据验证功能。Apache Commons是一个由许多独立但又相互关联的小型库组成的项目,旨在提供Java开发人员常用的实用工具和类。在给定的压缩包文件中,...
使用Commons Validator首先需要在项目中引入相关的jar包,包括Struts 1.3.8的核心包以及commons-validator.jar。这些库包含了Validator框架的类和方法,使得你可以利用它们来实现验证功能。 **配置验证** 1. 创建`...
Oro-2.0.8.jar 和 Commons-Validator.jar 是两个在Java开发中常见的库文件,它们主要用于处理字符串处理和数据验证。以下是对这两个组件的详细解释: 1. **Oro-2.0.8.jar**: 这是Apache的Oro项目的一部分,该项目...
开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2...
它使用了一个xml文件来定义针对用户输入的数据验证功能,整个验证体系提供了很强的扩展性,使得开发者可以开发自己的验证函数加入到这个验证体系中来。
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Apache Commons Validator Apache Commons Validator提供了客户端验证和服务器端数据... < groupId>commons-validator < artifactId>commons-validator < version>1.7 贡献 我们通过GitHub接受拉取请求。 是贡献者
commons-logging-1.0-javadoc.jar, commons-logging-1.0.1-javadoc.jar, commons-logging-1.0.1.jar, commons-logging-1.0.2-javadoc.jar, commons-logging-1.0.2.jar, commons-logging-1.0.3-javadoc.jar, commons-...
commons-collections-20040616.jar, commons-collections-3.2-osgi.jar, commons-collections-3.2-sources.jar, commons-collections-3.2.1.jar, commons-collections-3.2.2-javadoc.jar, commons-collections-3.2.2...
赠送jar包:commons-net-3.8.0.jar; 赠送原API文档:commons-net-3.8.0-javadoc.jar; 赠送源代码:commons-net-3.8.0-sources.jar; 赠送Maven依赖信息文件:commons-net-3.8.0.pom; 包含翻译后的API文档:...
commons-pool-1.3.jar+commons-pool.jar;java连接池jar包java连接池;java连接池jar;commons-pool-1.2.jar;commons-pool-1.3.jar+commons-pool.jar;java连接池jar包java连接池;java连接池jar;commons-pool-1.2.jar;...