springmvc之数据验证器

导入包

jsp配置   

<form action="验证器控制器" method="post">
        id<input type="text" name="id"/></br>${idError }</br>//${}用于回显验证器传过来的错误提示
        age<input type="text" name="age"/></br>${ageError }</br>
        name<input type="text" name="name"/></br>${nameError }</br>
        <input type="submit" value="提交"/>
    </form>

springmvc.xml配置

    <context:component-scan base-package="com.controller"></context:component-scan>
    <!-- 验证器 -->
    <bean id="myValidator" class=" org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        <property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
    </bean>

 <!--自启动验证器-->

    <mvc:annotation-driven validator="myValidator"/>
    <!-- 视图解析器 -->
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- <property name="prefix" value="/WEB-INF/"></property> -->
        <property name="suffix" value=".jsp"></property>
    </bean> 

POJO类

public class Teacher {
    @Min(value=0,message="最小不能小于0")
    @Max(value=10000,message="最大不能超过100")
    private int id;
    @NotEmpty(message="名字不能为空")
    @Size(min=3,max=6,message="名字长度不在3-6之间")
    private String name;
    @Min(value=0,message="最小不能小于0")
    @Max(value=10000,message="最大不能超过10000")
    private double age;
   //get&&set&&toString.........
}


控制器

@Controller
@RequestMapping("/vali")
public class ValidationController {
    @RequestMapping("/some.do")
    public ModelAndView some(@Validated Teacher teacher,BindingResult br){//BindingResult用于获取验证参数,@Validated要验证得对象,并且不能放在String和基本参数前
        ModelAndView mv = new ModelAndView();
        mv.addObject("teacher",teacher);
        List<ObjectError> errors = br.getAllErrors();//获取验证对象的所有错误信息
        if(errors.size()>0){//判断验证得对象是否错误
            FieldError nameError = br.getFieldError("name");//通过BindingResult获取到我们验证的对象
            FieldError ageError = br.getFieldError("age");//通过BindingResult获取到我们验证的对象
            FieldError idError = br.getFieldError("id");//通过BindingResult获取到我们验证的对象
            if(nameError!=null){
                mv.addObject("nameError", nameError.getDefaultMessage());//将错误的信息写入到nameError中用于回显
            }else if(idError!=null)
                mv.addObject("idError", idError.getDefaultMessage());
             else if(ageError!=null)
                mv.addObject("ageError", ageError.getDefaultMessage());            
             mv.setViewName("/validator");
             return mv;
        }
        mv.setViewName("/welcome");
        return mv;
    }
}

可用于pojo类上进行数据验证得格式


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值