@Validチェックネストオブジェクト
3352 ワード
ネット上のブログを参照してください。ValidListはlistをチェックできます。
テストによって発見されました。@Validは1階しか検証できません。たとえば私はここにpersonオブジェクトがあります。中にValidList属性があります。Techerオブジェクトの中にList属性があります。 Controller層に@Validを付ければ ValidList属性は検証できません。
List属性の前に追加する必要があります。 List
点コードを付ける:
テストによって発見されました。@Validは1階しか検証できません。たとえば私はここにpersonオブジェクトがあります。中にValidList属性があります。Techerオブジェクトの中にList属性があります。 Controller層に@Validを付ければ ValidList属性は検証できません。
List属性の前に追加する必要があります。 List
点コードを付ける:
package com.xiaoming.entity;
import javax.validation.Valid;
import java.util.*;
public class ValidList implements List {
@Valid
private List 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 iterator() {
return list.iterator();
}
@Override
public Object[] toArray() {
return list.toArray();
}
@Override
public 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 listIterator() {
return list.listIterator();
}
@Override
public ListIterator listIterator(int index) {
return list.listIterator(index);
}
@Override
public List subList(int fromIndex, int toIndex) {
return list.subList(fromIndex, toIndex);
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
}
@PostMapping("/test")
public String testBytes(@Valid @RequestBody ValidList persions){
return "success";
}
@Data
public class Persion {
@NotNull(message = "name != null")
private String name;
@NotNull(message = "teacherList != null")
private ValidList teacherList;
}
@Data
public class Teacher {
@NotNull
private String name;
@NotNull
private List students;
}