Добавление пользовательской аннотации в Android Saripaar
Я только начал использовать библиотеку android saripaar для клиентского приложения. Я хотел добавить пользовательскую проверку для поля. Однако, кажется, нет способа создать пользовательскую аннотацию. Я должен вручную ввести правило в валидаторе.
Как мне создать пользовательскую аннотацию для того же самого?
1 ответ
(Раскрытие: я автор)
Saripaar v2 позволяет вам определять пользовательские аннотации.
Вот как ты это делаешь.
Шаг 1 Определите свою пользовательскую аннотацию следующим образом. Убедитесь, что у вас есть RUNTIME
Политика хранения и ваша аннотация должны быть направлены на FIELD
типы элементов. 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.