![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringMVC Validation
Awna
这个作者很懒,什么都没留下…
展开
-
SpringMVC 使用JSR-303进行校验Bean Validation------常用注解
JSR303定义的校验类型空检查@Null 验证对象是否为null@NotNull 验证对象是否不为null, 无法查检长度为0的字符串@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.@NotEmpty 检查约束元素是否为NULL或者是EMPTY.Booelan检查@Asse...原创 2018-02-24 16:38:01 · 630 阅读 · 0 评论 -
SpringMVC 使用JSR-303进行校验Bean Validation------组合验证注解
有时候,可能有好几个注解需要一起使用,此时就可以使用组合验证注解@Target({ FIELD}) @Retention(RUNTIME) @Documented @NotNull(message = "{user.name.null}") @Length(min = 5, max = 20, message = "{user.name.length.illegal}") ...原创 2018-02-24 16:48:28 · 671 阅读 · 0 评论 -
SpringMVC 使用JSR-303进行校验Bean Validation-------方法参数、返回值验证
@RestController@Validated <1>public class BarController { @RequestMapping("/bar") public @NotBlank <2> String bar(@Min(18) Integer age <3>) { System.out.println("a...原创 2018-02-24 16:47:37 · 394 阅读 · 0 评论 -
SpringMVC 使用JSR-303进行校验Bean Validation-----消息中使用EL表达式
假设我们需要显示如:用户名[NAME]长度必须在[MIN]到[MAX]之间,此处大家可以看到,我们不想把一些数据写死,如NAME、MIN、MAX;此时我们可以使用EL表达式。@Length(min = 5, max = 20, message = "{user.name.length.illegal}", groups = {First.class}) 错误消息:user.n...原创 2018-02-24 16:46:45 · 1544 阅读 · 0 评论 -
SpringMVC 使用JSR-303进行校验Bean Validation------级联验证
public class User { @Valid @ConvertGroup(from=About.class, to=Other.class) private User user; }级联验证只要在相应的字段上加@Valid即可,会进行级联验证;@ConvertGroup的作用是当验证o的分组是First时,那么验证o的分组是Second,即...原创 2018-02-24 16:44:44 · 1287 阅读 · 0 评论 -
SpringMVC 使用JSR-303进行校验Bean Validation------指定分组验证顺序
接下来我们来看看通过分组来指定顺序;还记得之前的错误消息吗?如果我们先验证一个消息;如果不通过再验证另一个怎么办?可以通过@GroupSequence指定分组验证顺序:@Data@NoArgsConstructor@AllArgsConstructor@Builder@GroupSequence({User.Adult.class, User.Other.class,User.cl...原创 2018-02-24 16:43:31 · 1865 阅读 · 0 评论 -
SpringMVC 使用JSR-303进行校验Bean Validation------分组校验
如果同一个类,在不同的使用场景下有不同的校验规则,那么可以使用分组校验。未成年人是不能喝酒的,而在其他场景下我们不做特殊的限制,这个需求如何体现同一个实体,不同的校验规则呢?改写注解,添加分组:import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgs...原创 2018-02-24 16:42:10 · 837 阅读 · 0 评论 -
SpringMVC 使用JSR-303进行校验Bean Validation------自定义校验
业务需求总是比框架提供的这些简单校验要复杂的多,我们可以自定义校验来满足我们的需求。自定义spring validation非常简单,主要分为两步。1. 自定义校验注解我们尝试添加一个“字符串不能包含空格”的限制。@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER})@Retention(RUNT...原创 2018-02-24 16:40:58 · 1332 阅读 · 0 评论 -
SpringMVC 使用JSR-303进行校验Bean Validation------通过脚本验证@ScriptAssert
如果需要校验的业务逻辑比较复杂,简单的@NotBlank,@Min注解已经无法满足需求了,这时可以使用@ScriptAssert来指定进行校验的方法,通过方法来进行复杂业务逻辑的校验,然后返回true或false来表明是否校验成功。例如下面的例子://通过script 属性指定进行校验的方法,传递校验的参数, @ScriptAssert(lang="javascript",script...原创 2018-02-24 16:39:41 · 2701 阅读 · 0 评论 -
SpringMVC 使用JSR-303进行校验Bean Validation------国际化
即根据不同的语言选择不同的错误消息显示。1、本地化解析器<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> <property name="cookieName" value="locale"/> &a原创 2018-02-24 16:49:23 · 1020 阅读 · 0 评论