向Android Saripaar添加自定义注释

我刚刚开始使用 android saripaar库来为客户端应用程序.我想添加一个字段的自定义验证.但是,似乎没有办法创建自定义注释.我必须在验证器中手动放入规则.

如何创建相同的自定义注释?

解决方法

(披露:我是作者)

Saripaar v2允许您定义自定义注释.

这是你做的事情.

步骤1如下定义您的自定义注释.确保您有一个RUNTIME保留策略,并且您的注释必须针对FIELD元素类型.消息和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上市.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...