@Valid注解校验提交的List(list集合)javax.validation.Valid 遇到需要直接提交⼀个list集合的接⼝需求 不想单独在创建个只有⼀个list集合pojo 那普通的⽤反就没法校验了 但是在⽹上搜到了个⽅法很好⽤ 本来应该贴⼀下原链接 但是我⼀时⼿贱给页⾯关了 打开的⽹页太多 ⼜不好找了。在此给参考的⼤佬谢罪了。
好了 上代码了
创建ValidList ⽤@Valid注解⾥⾯的list
import lombok.Data;
import javax.validation.Valid;
import java.util.*;
@Data
public class ValidList<E> implements List<E> {
@Valid
private List<E> list = new ArrayList<>() ;//这⾥看需要实例化需要的List类型
@Override
public int size() {
return list.size();
}
公元前8世纪@Override
public boolean isEmpty() {
return list.isEmpty();
}
@Override
public boolean contains(Object o) {
ains(o);
}
@Override一切都是最好的安排
public Iterator<E> iterator() {
return list.iterator();
}
@Override
public Object[] toArray() {
Array();
}
@Override
七夕祝词
public <T> T[] toArray(T[] a) {去九寨沟多少钱
Array(a);
}
@Override
public boolean add(E e) {
return list.add(e);
}
@Override
public boolean remove(Object o) {
ve(o);
}
@Override
public boolean containsAll(Collection<?> c) {
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) {
veAll(c);
}
@Override
public boolean retainAll(Collection<?> c) {
ainAll(c);
}
@Override
public void clear() {
list.clear();
}
@Override
public E get(int index) {环顾四周的意思
(index);
}
@Override
public E t(int index, E element) {
return list.t(index, element);
}
@Override
public void add(int index, E element) {
list.add(index, element);
}
@Override
皮卡丘折纸public E remove(int index) {
ve(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) {
public List<E> subList(int fromIndex, int toIndex) {
return list.subList(fromIndex, toIndex);
}
}
controller⾥⾯使⽤
public void test(@Valid @RequestBody ValidList<Ur> urs, BindingResult bindingResult){ if(bindingResult.hasErrors()){
//把错误信息组成⼀个String集合
List<String> error = Error(bindingResult);
}
****
芈八子简介}
园游会吉他谱
//⼯具类⾥⼀个⽅法将校验错误的信息放到List<String>中
public static List<String> getError(BindingResult bindingResult){
List<ObjectError> allErrors = AllErrors();
List<String> error=new ArrayList<>();
for (ObjectError item:allErrors){
error.DefaultMessage());
}
return error;
}
具体的Ur实体⾥⾯咋校验就不说了 ⾃⼰看着⽤吧 成员变量上加下⾯注解
@NotEmpty(message = "Id 不能为空")
@Size(max=50,message = "Id 最⼤长度50")