001package cn.sticki.validator.spel.constraintvalidator; 002 003import cn.sticki.validator.spel.SpelConstraintValidator; 004import cn.sticki.validator.spel.constrain.SpelNotNull; 005import cn.sticki.validator.spel.result.FieldValidResult; 006 007import java.lang.reflect.Field; 008 009/** 010 * {@link SpelNotNull} 注解校验器。 011 * 012 * @author 阿杆 013 * @version 1.0 014 * @since 2024/5/1 015 */ 016public class SpelNotNullValidator implements SpelConstraintValidator<SpelNotNull> { 017 018 @Override 019 public FieldValidResult isValid(SpelNotNull annotation, Object obj, Field field) { 020 // 判断字段值是否为空 021 try { 022 field.setAccessible(true); 023 return new FieldValidResult(field.get(obj) != null); 024 } catch (IllegalAccessException e) { 025 throw new RuntimeException("Failed to access field value", e); 026 } 027 } 028 029}