java web 数据验证_JAVA Spring web mvc 学习 之 6:数据验证

这里写了两种方式:

1.采用Spring验证类进行验证

a.定义实现 spring Validator接口的类

b.调用validate方法进行验证即刻。验证是,验证存在结果Error 中

----------------------------------------------

2.使用JSR303进行验证

a.主要使用hibernate中的验证

b.在实体模型类中,使用注解方式进行。

c.在控制器中,使用@Valid注解标示需要进行验证的实体

------------------------------------------------------------------------------

1.Spring 的Validator a.实现Validator接口 // 实现Spring的Validator接口 @Repository("userValidator") public class UserValidator implements Validator { // 该校验器能够对clazz类型的对象进行校验。 @Override public boolean supports(Class> clazz) { // User指定的 Class 参数所表示的类或接口是否相同,或是否是其超类或超接口。 return User.class.isAssignableFrom(clazz); } // 对目标类target进行校验,并将校验错误记录在errors当中 @Override public void validate(Object target, Errors errors) { /** 使用ValidationUtils中的一个静态方法rejectIfEmpty()来对loginname属性进行校验, 假若'loginname'属性是 null 或者空字符串的话,就拒绝验证通过 。 */ ValidationUtils.rejectIfEmpty(errors, "loginname", null, "登录名不能为空");   ValidationUtils.rejectIfEmpty(errors, "password", null, "密码不能为空");   User user = (User)target; if(user.getLoginname().length() > 10){ // 使用Errors的rejectValue方法验证 errors.rejectValue("loginname", null, "用户名不能超过10个字符"); } if(user.getPassword() != null  && !user.getPassword().equals("")  && user.getPassword().length() < 6){ errors.rejectValue("password", null, "密码不能小于6位"); } } } b.控制器中调用验证   @RequestMapping(value="/login",method=RequestMethod.POST) public String login( @ModelAttribute User user, Model model, Errors errors) { logger.info(user); model.addAttribute("user", user); // 调用userValidator的验证方法 userValidator.validate(user, errors); // 如果验证不通过跳转到loginForm视图 if(errors.hasErrors()){ return "loginForm"; }     return "success"; } 特别说明:jsp中可以使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值