AtLeastOneNonNull.java 697 Bytes
package com.lego.common.annotation;

/**
 * @author chentao
 * @date 2025/4/23
 */

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Constraint(validatedBy = AtLeastOneNonNullValidator.class)
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface AtLeastOneNonNull {
    String message() default "At least one field must be non-null";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
    String[] fields(); // 指定需要校验的字段名数组
}