校验方式有三种:
1. 重写validate()方法,前提是你当前类要实现Validateable接口。我们的一般做法是继承ActionSupport类,这个类帮我们实现了这个接口。我们只需要在当前类中重写即可,并在里面进行自己的业务处理判断。如图:
注:validate方法在execute方法或其他业务方法执行之前。所以,这种方式下,validate方法里会完成所有业务的验证。即:这个地方是通道口,当前类里的所有方法想要执行必须经过validate方法。生产环境中是不合理的。
2. 重写validateXxx方法,我们将不同的业务逻辑放在不同的方法中去,然后为每一个方法重写一个验证方法,其格式是:validateXxx,其中Xxx就是你对应的方法,首字母大写,如图:
3. 基于配置文件的校验 我们可以将我们的校验信息以xml的形式写出来。目的是为了简化java代码和提高效率。具体操作如图:
第一步:在同级action中建立一个xml文件用于配置。其格式:
Action类名 xml中action的name属性 -validation.xml
第二步:
注:引入dtd文件,可在源码示例中找到
第三步:在这个配置文件中按照以下语法来写自己的控制。
<validators>
<fieldname=" "><!-- 被校验的字段 -->
<field-validatortype=""><!-- 校验器类型 -->
<message></message><!-- 给的提示信息 -->
</field-validator>
</field>
</validators>
第四步:在jsp中获取message的反馈:
其方式与我们之前的一样,其中的红色部分,也就是我们所说的key,在这里就是我们定义的那个<field >标签中的name属性值,也是我们监控的那个值。