1. 程式人生 > >SpringMVC 使用JSR-303進行校驗Bean Validation------指定分組驗證順序

SpringMVC 使用JSR-303進行校驗Bean Validation------指定分組驗證順序

接下來我們來看看通過分組來指定順序;還記得之前的錯誤訊息嗎?如果我們先驗證一個訊息;如果不通過再驗證另一個怎麼辦?可以通過@GroupSequence指定分組驗證順序:

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@GroupSequence({User.Adult.class, User.Other.class,User.class})
public class User {
    @NotNull(message="名字不能為空")
    private String userName;
    @Max(value=120
,message="年齡最大不能查過120",groups = {Adult.class}) private int age; @Email(message="郵箱格式錯誤",groups = {Other.class}) private String email; @CannotHaveBlank(groups = {Adult.class}) private String sex; //分組 public interface Adult{} public interface Other{} }

通過@GroupSequence指定驗證順序:先驗證Adult分組,如果有錯誤立即返回而不會驗證Other分組,接著如果Adult分組驗證通過了,那麼才去驗證Other分組,最後指定User.class表示那些沒有分組的在最後。這樣我們就可以實現按順序驗證分組了。
想了解更多java相關技術,請關注公眾號“JavaEE那些事”

掃描下面二維碼,更多技術資料等你來拿
這裡寫圖片描述

相關推薦

SpringMVC 使用JSR-303進行Bean Validation------指定分組驗證順序

接下來我們來看看通過分組來指定順序;還記得之前的錯誤訊息嗎?如果我們先驗證一個訊息;如果不通過再驗證另一個怎麼辦?可以通過@GroupSequence指定分組驗證順序: @Data @NoArgsConstructor @AllArgsConstructo

SpringMVC 使用JSR-303進行Bean Validation-----訊息中使用EL表示式

假設我們需要顯示如:使用者名稱[NAME]長度必須在[MIN]到[MAX]之間,此處大家可以看到,我們不想把一些資料寫死,如NAME、MIN、MAX;此時我們可以使用EL表示式。 @Length(min = 5, max = 20, message = "

使用JSR-303進行 @Valid

規則 表單 hat ssa 正則表達式 需要 使用 pre 元素 一、在SringMVC中使用 使用註解 1、準備校驗時使用的JAR validation-api-1.0.0.GA.jar:JDK的接口; hibernate-validator-4.2.0.Final.ja

JSR-303 資料學習(一)

一、JSR-303簡介 JSR-303 是 JAVA EE 6 中的一項子規範,叫做 Bean Validation,官方參考實現是Hibernate Validator。 此實現與 Hibernate ORM 沒有任何關係。 JSR 303 用於對 Java B

springmvc 使用JSR-303進行資料

專案中,通常使用較多的是前端的校驗,比如頁面中js校驗以及form表單使用bootstrap校驗。然而對於安全要求較高點建議在服務端進行校驗。 服務端校驗: 控制層controller:校驗頁面請求的引數的合法性。在服務端控制層controller校驗

validation----可以用來對於請求bean的必填引數進行

validation的另一種用法,這種用法更加簡單便捷校驗工具類: package com.alibaba.banff.web.util; import java.util.HashMap; import java.util.Map; import java.

SpringMVC】數據時,拋出javax.validation.UnexpectedTypeException: HV000030: No validator could be found for type: java.util.Date.

springmvc 去掉 not orm align found 包括 text expect 老魏原創,轉載請留言。 原因:給Javabean中的字段註解多余或者錯誤導致。 @NotEmpty @Past @DateTimeFormat(pattern="yy

springMVC對jsp頁面的數據進行

false long w3c set 提示 gre password request dmi 一. 使用註解校驗 a) 引入校驗依賴包 <dependency> <groupId>javax.validation</gr

springmvc服務端hibernate validation配置

springmvc服務端校驗hibernate validation的配置 步驟如下: 0.需要引3個jar包    hibernate-validator-4.3.0.Final.jar    jb

springmvc使用框架validation

1      springmvc校驗(服務端 ) b/s系統中對http請求資料的校驗多數在客戶端進行,這也是出於簡單及使用者體驗性上考慮,但是在一些安全性要求高的系統中服務端校驗是不可缺少的,本節主要學習springmvc實現控制層新增校驗。          Sprin

JavaWeb網上圖書商城完整項目--day02-4.regist頁面提交表單時對所有輸入框進行

word except 繼承 stub jstl use cti bmi imp 1、現在我們要將table表中的輸入的參數全部提交到後臺進行校驗,我們提交我們是按照表單的形式提交,所以我們首先需要在table表外面添加一個表單 <%@ page lang

hibernate的框架validation 和 HttpMessageConverter的配置方式

hibernate的校驗框架validation 和 httpmessageconverter的配置方式hibernate的校驗框架validation 和 HttpMessageConverter的配置方式好像是2個不相幹的配置內容,但他們都用到了<mvc:annotation-driven />

springmvc(四) springmvc的數據的實現

jar ring 錯誤 登錄 分享 文件 框架 creat 對象       so easy~               --WH 一、什麽是數據校驗?       這個比較好理解,就是用來驗證客戶輸入的數據是否合法,比如客戶登錄時,用戶名不能為空,或者不能超出指定長度等

StringUtil對字符串類型參數進行的工具類

ring oms win shu ogl href sin oci nfa 9圖uO17茲S笨尚付5截Lhttp://www.docin.com/yizl7171 tDRD7y2PX笆http://www.docin.com/app/user/userinfo?useri

Java參數工具validation實踐

jar包依賴 pos jar包 compile mpi 創建 pri nal void 介紹   在項目開發當中,數據校驗是你必須要考慮和面對的事情,為此要寫上一大串的代碼進行校驗,這樣就會導致代碼冗余和一些管理的問題。 例如下面的代碼: 1 public void pu

SpringMVC後臺數據

年齡 frame drive efault email api 後臺 inter phone 第①步:引入依賴 <!--數據校驗--> <dependency> <groupId>org.hib

springmvc、springboot 引數

引數校驗在專案中是必不可少的,不僅前端需要校驗,為了程式的可靠性,後端也需要對引數進行有效性的校驗。下面將介紹在springmvc或springboot專案中引數校驗的方法 準備工作: 引入校驗需要用到的依賴    首先放上我們的測試物件 方法一、

對時間為“yyyyMMdd”格式的時間資料進行,判斷其合法性

package org.asyware.insurance.util;   /**  *   * @author zl  * date 2018/08/09  *  */ public class DateUtil {  

serializers 序列化器裡面進行

一 # 宣告序列化器from rest_framework import serializersfrom djangoDome.models import Bookclass PublisherSerializer(serializers.Serializer): id = serializers.I

ajax 對輸入文字是否合法進行

var cnmsg = { required: “必選欄位”, remote: “請修正該欄位”, email: “請輸入正確格式的電子郵件”, url: “請輸入合法的網址”, date: “請輸入合法的日期”, dateISO: “請輸入合法的日期 (ISO).”, number: “請