官方文档参考 apache
直接下source发现不能run,所以删掉了不必要的文件,之保留需要的代码。代码托管 sample
步骤一:导入需要的jar
步骤二:配置xml
<form-validation>
<global>
<validator name="int"
classname = "test.TestTypeValidator"
method="validateInt"
methodParams="java.lang.Object,org.apache.commons.validator.Field"
msg="errors.int"/>
...
</global>
<formset>
<form name="ValidateBean">
<field property="firstName" depends="required">
<arg key="nameForm.firstname.displayname"/>
</field>
...
</form>
</formset>
</form-validation>
form-validation : validation声明标签
global : 定义validator中调用的方法。 此例中定义了一个 public static boolean validateInt(Object bean, Field field) 方法。
formset : 上面标示需要验证 firstName property。
displayName与 errors只是 properties中定义的print内容
步骤三:implement validation方法
public static boolean validateInt(Object bean, Field field){
return GenericValidator.isInt(ValidatorUtils.getValueAsString(bean, field.getProperty()));
}
步骤四:调动validator
代码参考main方法。
使用validator 的好处是减少了公用validation 方法的代码,框架帮忙采用xml的方式做了mapping关系。对于经常使用的验证方法比较使实用。