91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring @Valid和@Validated有什么區別

發布時間:2020-07-30 11:26:47 來源:億速云 閱讀:194 作者:小豬 欄目:編程語言

這篇文章主要為大家展示了Spring @Valid和@Validated有什么區別,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

兩者區別


     @Valid
@Validated
標準標準JSR-303規范增強JSR-303規范
javax.validationorg.springframework.validation
驗證結果BindingResult resultBindingResult result
分組支持不支持支持
分組序列不支持支持
類型注解支持
方法注解支持支持
方法參數注解支持支持
構造函數注解支持
成員屬性注解支持不支持
嵌套驗證支持不支持

分組示例

public interface First{}

public interface Second{}
public class User {
	// 所有都驗證
	@NotNull(message = "...")
	private int id;

 	// First 才驗證
	@NotNull(message = "...", groups = { First.class })
	private String username;
 
 	// First 或 Second 才驗證
	@NotNull(message = "...", groups = { First.class, Second.class })
	private String content;
	
	// First 驗證 NotEmpty,Second 驗證 Size
	@NotEmpty(message = "...", groups = { First.class })
	@Size(message = "...", min = 3, max = 8, groups = { Second.class })
	private String height;
}
// 只驗證 Second 分組和沒有分組的屬性
public String save(@Validated( { Second.class }) User user, BindingResult result) {
	if (result.hasErrors()) {
		return "validate/error";
	}
	return "redirect:/success";
}

分組序列

public interface GroupA {}
 
public interface GroupB {}
 
@GroupSequence( { GroupA.class, GroupB.class })
public interface Group {}
public @ResponseBody String save(@Validated({ Group.class }) User user, BindingResult result) {
	if(result.hasErrors()) {
		return false;
	}
	return true;
}

嵌套驗證

public class Item {
  @NotNull(message = "id不能為空")
  @Min(value = 1, message = "id必須為正整數")
  private Long id;

	@Valid
  @NotNull(message = "props不能為空")
  @Size(min = 1, message = "至少要有一個屬性")
  private List<Prop> props;
}
public class Prop {
  @NotNull(message = "pid不能為空")
  @Min(value = 1, message = "pid必須為正整數")
  private Long pid;

  @NotNull(message = "vid不能為空")
  @Min(value = 1, message = "vid必須為正整數")
  private Long vid;

  @NotBlank(message = "pidName不能為空")
  private String pidName;

  @NotBlank(message = "vidName不能為空")
  private String vidName;
}
@RestController
public class ItemController {
  @RequestMapping("/item/add")
  public void addItem(@Validated Item item, BindingResult bindingResult) {
    doSomething();
  }
}

驗證多個對象

@Controller 
public class PeopleController { 
  @RequestMapping("/add") 
  public @ResponseBody String add(@Validated People pp, BindingResult result1, @Validated Person ps, BindingResult result2) 
  { 
    if(result1.hasErrors()) 
    { 
      return false; 
    } 
    if(result2.hasErrors()) 
    { 
      return false; 
    } 
    return true; 
  } 
}

以上就是關于Spring @Valid和@Validated有什么區別的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巩留县| 彭山县| 潮州市| 离岛区| 平凉市| 图木舒克市| 庆城县| 彭山县| 西充县| 蓝田县| 商河县| 家居| 垦利县| 安西县| 辽源市| 营山县| 增城市| 大方县| 博客| 突泉县| 沂源县| 鄱阳县| 南平市| 沾化县| 阳曲县| 厦门市| 汉寿县| 香格里拉县| 邯郸县| 改则县| 恩施市| 海林市| 康定县| 五大连池市| 大名县| 乐至县| 东乌珠穆沁旗| 清河县| 山东省| 阿勒泰市| 惠安县|