如何将实现Validator接口改写为长尾词?

2026-04-10 13:582阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计509个文字,预计阅读时间需要3分钟。

如何将实现Validator接口改写为长尾词?

ch.text数据校验主要针对用户的输入错误问题,目前主要有两种验证输入的方法,一种是Spring自带的Validation校验框架,另一种是JSR303(Java验证规范)实现的校验功能。1. Spring的Validation校验框架

ch.text

数据校验主要针对于用户的误输入问题,目前主要有两种方法进行验证输入,一种是Spring自带的Validation校验框架, 一种是JSR303(JAVA验证规范)实现校验功能。 1.Spring的Validation校验框架 (1)Form表单 用户名: 密码: (2)完成校验功能的类,实现Validator接口 public class UserValidator implements Validator { //判断参数所代表的类是否相同 public boolean supports(Class clazz) { // TODO Auto-generated method stub return User.class.equals(clazz); } //核心方法,完成对目标Target类的校验,并将信息保存在Errors对象中 public void validate(Object target, Errors error) { // TODO Auto-generated method stub //校验工具,ValidationUtils.rejectIfEmpty()里面四个参数:1,errors对象。2,需要验证的对象的属性。 //3,国际化中的key值。4,如果找不到国际化的key对应的value,就默认用这个值。对于不需要国际化的项目直接设置在这里就行。 ValidationUtils.rejectIfEmpty(error, "username", null,"用户名不能为空"); ValidationUtils.rejectIfEmpty(error, "password", null,"密码不能为空"); User user=(User) target; //rejectValue方法中可以包括2-4个参数,可以根据需要选择,第一个表单域field, //区分是哪个表单出错,第二个errorCode错误码, //第三个制定了资源文件中占位符,第四个具体错误返回信息 //简写版可以把2,3参数去掉 if(user.getUsername().length()>6){ error.rejectValue("username", null, "用户名不能超过6个字符"); } if(user.getPassword()!=null&&user.getPassword().length()<6){ error.rejectValue("password", null, "密码不能小于6个字符"); } } } (3)控制器中需要校验的地方 //通过@InitBinder注解为控制器初始化的时候注册属性编辑器 @InitBinder public void initBinder(DataBinder binder){ //设置校验类 binder.setValidator(new UserValidator()); } //完成校验类的注册后通过@Validated注解在需要校验的参数上面进行设置完成校验,通过校验器的validate方法实现 @RequestMapping(value="/register",method=RequestMethod.POST) public String register(@Validated User user,Errors errors){ //判断是否出错,通过hasFieldErrors方法 if(errors.hasFieldErrors()){ return "registerform"; }else{ return "welcome"; } }

如何将实现Validator接口改写为长尾词?

本文共计509个文字,预计阅读时间需要3分钟。

如何将实现Validator接口改写为长尾词?

ch.text数据校验主要针对用户的输入错误问题,目前主要有两种验证输入的方法,一种是Spring自带的Validation校验框架,另一种是JSR303(Java验证规范)实现的校验功能。1. Spring的Validation校验框架

ch.text

数据校验主要针对于用户的误输入问题,目前主要有两种方法进行验证输入,一种是Spring自带的Validation校验框架, 一种是JSR303(JAVA验证规范)实现校验功能。 1.Spring的Validation校验框架 (1)Form表单 用户名: 密码: (2)完成校验功能的类,实现Validator接口 public class UserValidator implements Validator { //判断参数所代表的类是否相同 public boolean supports(Class clazz) { // TODO Auto-generated method stub return User.class.equals(clazz); } //核心方法,完成对目标Target类的校验,并将信息保存在Errors对象中 public void validate(Object target, Errors error) { // TODO Auto-generated method stub //校验工具,ValidationUtils.rejectIfEmpty()里面四个参数:1,errors对象。2,需要验证的对象的属性。 //3,国际化中的key值。4,如果找不到国际化的key对应的value,就默认用这个值。对于不需要国际化的项目直接设置在这里就行。 ValidationUtils.rejectIfEmpty(error, "username", null,"用户名不能为空"); ValidationUtils.rejectIfEmpty(error, "password", null,"密码不能为空"); User user=(User) target; //rejectValue方法中可以包括2-4个参数,可以根据需要选择,第一个表单域field, //区分是哪个表单出错,第二个errorCode错误码, //第三个制定了资源文件中占位符,第四个具体错误返回信息 //简写版可以把2,3参数去掉 if(user.getUsername().length()>6){ error.rejectValue("username", null, "用户名不能超过6个字符"); } if(user.getPassword()!=null&&user.getPassword().length()<6){ error.rejectValue("password", null, "密码不能小于6个字符"); } } } (3)控制器中需要校验的地方 //通过@InitBinder注解为控制器初始化的时候注册属性编辑器 @InitBinder public void initBinder(DataBinder binder){ //设置校验类 binder.setValidator(new UserValidator()); } //完成校验类的注册后通过@Validated注解在需要校验的参数上面进行设置完成校验,通过校验器的validate方法实现 @RequestMapping(value="/register",method=RequestMethod.POST) public String register(@Validated User user,Errors errors){ //判断是否出错,通过hasFieldErrors方法 if(errors.hasFieldErrors()){ return "registerform"; }else{ return "welcome"; } }

如何将实现Validator接口改写为长尾词?