国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 使用@Valid 校驗嵌套對象

使用@Valid 校驗嵌套對象

2022-02-24 00:36mayner Java教程

這篇文章主要介紹了使用@Valid 校驗嵌套對象方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@Valid 校驗嵌套對象

參考網上的博客:ValidList 能校驗list。

通過測試發現,@Valid只能校驗一層。比如我這里有個person對象,里面有個ValidList<Teacher> 屬性,Teacher對象里面有個List<Student> 屬性。

如果在Controller層加上@Valid 是校驗不到ValidList<Student> 屬性的。

需要在List<Teacher> 屬性前面加上 List<@Valid Teacher>

沾點代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package com.xiaoming.entity;
import javax.validation.Valid;
import java.util.*;
public class ValidList<E> implements List<E> {
    @Valid
    private List<E> list = new ArrayList<>();
 
    @Override
    public int size() {
        return list.size();
    }
 
    @Override
    public boolean isEmpty() {
        return list.isEmpty();
    }
 
    @Override
    public boolean contains(Object o) {
        return list.contains(o);
    }
 
    @Override
    public Iterator<E> iterator() {
        return list.iterator();
    }
 
    @Override
    public Object[] toArray() {
        return list.toArray();
    }
 
    @Override
    public <T> T[] toArray(T[] a) {
        return list.toArray(a);
    }
 
    @Override
    public boolean add(E e) {
        return list.add(e);
    }
 
    @Override
    public boolean remove(Object o) {
        return list.remove(o);
    }
 
    @Override
    public boolean containsAll(Collection<?> c) {
        return list.containsAll(c);
    }
 
    @Override
    public boolean addAll(Collection<? extends E> c) {
        return list.addAll(c);
    }
 
    @Override
    public boolean addAll(int index, Collection<? extends E> c) {
        return list.addAll(index, c);
    }
 
    @Override
    public boolean removeAll(Collection<?> c) {
        return list.removeAll(c);
    }
 
    @Override
    public boolean retainAll(Collection<?> c) {
        return list.retainAll(c);
    }
 
    @Override
    public void clear() {
        list.clear();
    }
 
    @Override
    public E get(int index) {
        return list.get(index);
    }
 
    @Override
    public E set(int index, E element) {
        return list.set(index, element);
    }
 
    @Override
    public void add(int index, E element) {
        list.add(index, element);
    }
 
    @Override
    public E remove(int index) {
        return list.remove(index);
    }
 
    @Override
    public int indexOf(Object o) {
        return list.indexOf(o);
    }
 
    @Override
    public int lastIndexOf(Object o) {
        return list.lastIndexOf(o);
    }
 
    @Override
    public ListIterator<E> listIterator() {
        return list.listIterator();
    }
 
    @Override
    public ListIterator<E> listIterator(int index) {
        return list.listIterator(index);
    }
 
    @Override
    public List<E> subList(int fromIndex, int toIndex) {
        return list.subList(fromIndex, toIndex);
    }
 
    public List<E> getList() {
        return list;
    }
 
    public void setList(List<E> list) {
        this.list = list;
    }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
     @PostMapping("/test")
    public String testBytes(@Valid @RequestBody ValidList<Persion> persions){
        return "success";
    
 
@Data
public class Persion {
    @NotNull(message = "name != null")
    private String name;
    @NotNull(message = "teacherList != null")
    private ValidList<@Valid Teacher> teacherList;
}
 
@Data
public class Teacher {
    @NotNull
    private String name;
    @NotNull
    private List<Student> students;
}

@Valid 嵌套對象驗證不成功

controller:

?
1
2
3
4
5
@PostMapping("WSendList")
public ApiResult getList( @ApiParam(required = true) @Valid  @RequestBody  PageListIO<WSendIO> body) {
        ...
        return ApiResult.success();
    }

PageListIO對象:

使用@Valid 校驗嵌套對象

WSendIO對象:

?
1
2
3
4
5
public class WSendIO implements Serializable{
    @NotNull(message = "字段 不能為空")
    private Integer isTest;
    ...
}

這樣請求WSendIO中的驗證時不會執行的

解決方案:在PageListIO中使用@Valid

使用@Valid 校驗嵌套對象

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/chenmingzhong99/article/details/104560207

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 成人黄大片视频在线观看 | 欧美一级免费看 | 成人小视频在线播放 | 怡红院在线播放 | 美日韩一区二区 | 国产精品v一区二区三区 | 午夜精品久久 | 最近2019年好看中文字幕视频 | 日韩精品一区二区三区av | 中文字幕视频 | 亚洲成av人片在线观看无码 | 亚洲精品久久久久一区二区三区 | 一区二区中文 | 日韩国产免费观看 | 国产精品毛片久久久久久久 | 亚洲五码中文字幕 | 国产精品久久久久久久久久久免费看 | 久久国产综合 | 欧洲一区二区在线观看 | 91高清在线| 国产精品三级久久久久久电影 | 精品在线91 | 日韩午夜电影 | 在线中文字幕视频 | 久久免费一区 | 亚洲成人免费视频 | 亚洲电影在线观看 | 欧美午夜寂寞影院 | 成人高清av | 亚洲一区二区三区在线免费观看 | 精品亚洲永久免费精品 | 国产91在线播放 | 国产精品午夜电影 | 亚洲永久免费视频 | 亚洲国产成人在线 | 懂色av一区二区三区免费观看 | 久久九九99 | 一区二区欧美在线 | 在线视频 亚洲 | 中字精品 | 伊人网站|