Android-用于校验集合参数的小封装

移动开发 简书

前言

android开发中,你是否对表单校验深恶痛觉.

是否还在写大量的if else来校验参数是否输入?

这个文章可能能给你帮助.

直接见代码:

/**
 * Created by Jlanglang on 2017/9/4 0004.
 * 简书:http://www.jianshu.com/u/6bac141ea5fe
 */

public class SimpleParams extends HashMap {
     //这里放key,与校验失败后的提示内容
    private HashMap checkParams = new HashMap();

    public static SimpleParams create() {
        return new SimpleParams();
    }
    //返回this,链式编程
    public SimpleParams putP(String key, Object value) {
        this.putP(key, value, "");
        return this;
    }

    public SimpleParams putP(String key, Object value, String emptyMessage) {
        this.putP(key, value);
        checkParams.put(key, emptyMessage);
        return this;
    }

    /**
     * 检查params
     *
     * @param context
     * @return
     */
    public boolean checkMessage(Context context) {
        return checkMessage(context, null);
    }

    /**
     * 检查params
     *
     * @param context
     * @return
     */
    public boolean checkMessage(Context context, CheckParamsCallback checkParamsCallback) {
        Set strings = keySet();
        for (String str : strings) {
            Object value = get(str);
            if (value == null || "".equals(value)) {
                String s = checkParams.get(str);
                //emptyMessage则说明,该参数不校验
                if (!TextUtils.isEmpty(s)) {
                    //传入回调,自定义处理
                    if (checkParamsCallback != null) {
                        checkParamsCallback.callBack(s);
                    } else {
                        //默认Toast提示.
                        Toast.makeText(context, s, Toast.LENGTH_SHORT).show();
                    }
                    return false;
                }
            }
        }
        return true;
    }

    public interface CheckParamsCallback {
        void callBack(String s);
    }
}
简书稿源:简书 (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 移动开发 » Android-用于校验集合参数的小封装

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录