国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Spring @Valid和@Validated區(qū)別和用法實(shí)例

瀏覽:66日期:2023-09-08 08:15:24

兩者區(qū)別

@Valid @Validated 標(biāo)準(zhǔn) 標(biāo)準(zhǔn)JSR-303規(guī)范 增強(qiáng)JSR-303規(guī)范 包 javax.validation org.springframework.validation 驗(yàn)證結(jié)果 BindingResult result BindingResult result 分組支持 不支持 支持 分組序列 不支持 支持 類型注解 ? 支持 方法注解 支持 支持 方法參數(shù)注解 支持 支持 構(gòu)造函數(shù)注解 支持 ? 成員屬性注解 支持 不支持 嵌套驗(yàn)證 支持 不支持

分組示例

public interface First{}public interface Second{}public class User {// 所有都驗(yàn)證@NotNull(message = '...')private int id; // First 才驗(yàn)證@NotNull(message = '...', groups = { First.class })private String username; // First 或 Second 才驗(yàn)證@NotNull(message = '...', groups = { First.class, Second.class })private String content;// First 驗(yàn)證 NotEmpty,Second 驗(yàn)證 Size@NotEmpty(message = '...', groups = { First.class })@Size(message = '...', min = 3, max = 8, groups = { Second.class })private String height;}// 只驗(yàn)證 Second 分組和沒(méi)有分組的屬性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;}

嵌套驗(yàn)證

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

public class Prop { @NotNull(message = 'pid不能為空') @Min(value = 1, message = 'pid必須為正整數(shù)') private Long pid; @NotNull(message = 'vid不能為空') @Min(value = 1, message = 'vid必須為正整數(shù)') private Long vid; @NotBlank(message = 'pidName不能為空') private String pidName; @NotBlank(message = 'vidName不能為空') private String vidName;}

@RestControllerpublic class ItemController { @RequestMapping('/item/add') public void addItem(@Validated Item item, BindingResult bindingResult) { doSomething(); }}

驗(yàn)證多個(gè)對(duì)象

@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; } }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 东莞市| 定兴县| 太和县| 基隆市| 百色市| 桐城市| 定兴县| 天门市| 伊川县| 富民县| 雷州市| 察隅县| 五莲县| 武威市| 肇庆市| 泽州县| 柯坪县| 乌鲁木齐市| 韩城市| 绍兴市| 新干县| 集贤县| 西贡区| 石阡县| 乐安县| 马尔康县| 乐业县| 合水县| 兴国县| 隆化县| 赤城县| 靖宇县| 柳州市| 曲阳县| 多伦县| 多伦县| 芮城县| 闻喜县| 长岭县| 昌邑市| 梨树县|