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}