SpringBoot学习之验证信息国际化
2017-05-09 19:10
387 查看
以登录为例:
1.controller的登录方法:
@RequestMapping("/SSOAuth/login")
@ResponseBody
public ResponseValue login(@Valid @RequestBody LoginParam param, BindingResult result) {
//验证数据合法性
if (result.hasErrors()) {
ResponseValue responseValue = ResponseValue.newInstance(HeadCode.BAD_REQUEST);
responseValue.getHead().setMsg(result.getFieldError().getDefaultMessage());
return responseValue;
}
String loginName = param.getLoginName();
String pwd = param.getPassword();
if (loginValidation.exist(loginName) == false) {
ResponseValue value = ResponseValue.newInstance(HeadCode.NOT_FIND);
value.getHead().setMsg("用户信息不存在!");
return value;
}
if (loginValidation.verify(loginName, pwd) == false) {
ResponseValue value = ResponseValue.newInstance(HeadCode.BAD_REQUEST);
value.getHead().setMsg("密码不正确!");
return value;
}
return result(loginName, new Date());
}
该方法的关键是@valid注解和BindingResult结合使用验证传入的信息是否合法,LoginParam这是验证对象。
BindingResult是所有的错误信息都会保存在这个类中,我们可以使用result.hasErrors() 判断是否有错误信息。
2.验证对象:
public class LoginParam implements Serializable {
private static final long serialVersionUID = 1L;
@NotBlank(message="{NotBlank.name}")
@Length(min=0, max=50, message="loginName长度超出范围")
private String loginName;
@NotBlank(message="{NotBlank.password}")
@Length(min=6, max=10, message="password长度超出范围")
private String password;
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Validator国际化配置文件说明
1.国际化配置文件必须放在classpath的根目录下,即src/java/resources的根目录下。
2.国际化配置文件必须以ValidationMessages开头,比如ValidationMessages.properties 或者 ValidationMessages_en.properties。
3.有些代码是很难使用Validator的注解来实现,比如存在name,那么返回“该name已经存在了”。利用result.rejectValue("name", "misFormat", "该name已经存在了!");
1.controller的登录方法:
@RequestMapping("/SSOAuth/login")
@ResponseBody
public ResponseValue login(@Valid @RequestBody LoginParam param, BindingResult result) {
//验证数据合法性
if (result.hasErrors()) {
ResponseValue responseValue = ResponseValue.newInstance(HeadCode.BAD_REQUEST);
responseValue.getHead().setMsg(result.getFieldError().getDefaultMessage());
return responseValue;
}
String loginName = param.getLoginName();
String pwd = param.getPassword();
if (loginValidation.exist(loginName) == false) {
ResponseValue value = ResponseValue.newInstance(HeadCode.NOT_FIND);
value.getHead().setMsg("用户信息不存在!");
return value;
}
if (loginValidation.verify(loginName, pwd) == false) {
ResponseValue value = ResponseValue.newInstance(HeadCode.BAD_REQUEST);
value.getHead().setMsg("密码不正确!");
return value;
}
return result(loginName, new Date());
}
该方法的关键是@valid注解和BindingResult结合使用验证传入的信息是否合法,LoginParam这是验证对象。
BindingResult是所有的错误信息都会保存在这个类中,我们可以使用result.hasErrors() 判断是否有错误信息。
2.验证对象:
public class LoginParam implements Serializable {
private static final long serialVersionUID = 1L;
@NotBlank(message="{NotBlank.name}")
@Length(min=0, max=50, message="loginName长度超出范围")
private String loginName;
@NotBlank(message="{NotBlank.password}")
@Length(min=6, max=10, message="password长度超出范围")
private String password;
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Validator国际化配置文件说明
1.国际化配置文件必须放在classpath的根目录下,即src/java/resources的根目录下。
2.国际化配置文件必须以ValidationMessages开头,比如ValidationMessages.properties 或者 ValidationMessages_en.properties。
3.有些代码是很难使用Validator的注解来实现,比如存在name,那么返回“该name已经存在了”。利用result.rejectValue("name", "misFormat", "该name已经存在了!");
相关文章推荐
- 学习Spring必学的Java基础知识(8)----国际化信息
- SpringBoot非官方教程 | 第十九篇: 验证表单信息
- Spring Boot学习入门之表单验证
- 从.Net到Java学习第八篇——SpringBoot实现session共享和国际化
- 学习Spring必学的Java基础知识(8)----国际化信息
- SpringBoot学习笔记之CXF集成(实现用户验证)
- Spring Boot教程(六)在springboot中验证表单信息
- spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- SpringBoot非官方教程 | 第十九篇: 验证表单信息
- spring boot学习(六)---表单验证
- JavaEE进阶知识学习-----SpringBootWeb进阶-6-表单验证知识
- Spring Boot教程(二十九)在springboot中验证表单信息
- Spring Boot 与 Kotlin 验证web表单信息
- springboot学习(7)springboot使用AOP打印日志信息
- Spring Boot Security 学习笔记-根据登陆人动态配置权限-密码加密验证
- SpringBoot非官方教程 | 第十九篇: 验证表单信息
- 主题:学习Spring必学的Java基础知识(8)----国际化信息
- 从.Net到Java学习第六篇——SpringBoot+mongodb&Thymeleaf&模型验证
- SpringBoot非官方教程 | 第十九篇: 验证表单信息
- Spring学习之国际化支持