Добавление пользовательской аннотации к Android Saripaar

Я просто начал использовать андроидскую сарипаарную библиотеку для приложения клиента. Я хотел добавить пользовательскую проверку для поля. Однако, похоже, не существует способа создания пользовательской аннотации. Я должен вручную ввести правило в валидаторе.

Как создать пользовательскую аннотацию для нее?

    (Раскрытие информации: Я автор)

    Saripaar v2 позволяет вам определять пользовательские аннотации.

    Вот как вы это делаете.

    Шаг 1 Определите свою пользовательскую аннотацию следующим образом. Убедитесь, что у вас есть политика хранения RUNTIME и ваша аннотация должна быть нацелена на типы элементов FIELD . messageResId message и messageResId являются обязательными, поэтому следите за именами и типами.

     @ValidateUsing(HaggleRule.class) @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Haggle { public int messageResId() default -1; // Mandatory attribute public String message() default "Oops... too pricey"; // Mandatory attribute public int sequence() default -1; // Mandatory attribute public double maximumAskingPrice(); // Your attributes } 

    Шаг 2 Определите свое правило, расширив класс AnnotationRule .

     public class HaggleRule extends AnnotationRule<Haggle, Double> { protected HaggleRule(Haggle haggle) { super(haggle); } @Override public boolean isValid(Double data) { boolean isValid = false; double maximumAskingPrice = mRuleAnnotation.maximumAskingPrice(); // Do some clever validation.... return isValid; } } 

    Шаг 3 Зарегистрируйте свое правило.

     Validator.registerAnnotation(Haggle.class); // Your annotation class instance 

    Просто как тот. Посмотрите исходный код, если хотите. Saripaar v2 теперь доступен на Maven Central.