android必填参数为空,Android-用于校验集合参数的小封装
前言android开发中,你是否对表单校验深恶痛觉.是否还在写大量的if else来校验参数是否输入?这个文章可能能给你帮助.直接见代码:/*** Created by Jlanglang on 2017/9/4 0004.* 简书:http://www.jianshu.com/u/6bac141ea5fe*/public class SimpleParams extends HashMap {p
前言
android开发中,你是否对表单校验深恶痛觉.
是否还在写大量的if else来校验参数是否输入?
这个文章可能能给你帮助.
直接见代码:
/**
* Created by Jlanglang on 2017/9/4 0004.
* 简书:http://www.jianshu.com/u/6bac141ea5fe
*/
public class SimpleParams extends HashMap {
private LinkedHashMap checkParams = new LinkedHashMap<>();
public static SimpleParams create() {
return new SimpleParams();
}
public SimpleParams putP(String key, Object value) {
return putP(key, value, "");
}
/**
* @param key key
* @param value value
* @param emptyMessage 当value为null或者""时,提示emptyMessage
* @return SimpleParams
*/
public SimpleParams putP(String key, Object value, String emptyMessage) {
this.put(key, value);
checkParams.put(key, emptyMessage);
return this;
}
/**
* @param key key
* @param value value
* @param canNotValue 如果value和该值一样则不添加
* @param emptyMessage 如果value为空则
* @return
*/
public SimpleParams putP(String key, Object value, Object canNotValue, String emptyMessage) {
if (value == canNotValue) return this;
return putP(key, value, emptyMessage);
}
/**
* @param key key
* @param value value
* @param canNotValue 如果value和该值一样则不添加
* @return
*/
public SimpleParams putP(String key, Object value, Object canNotValue) {
return putP(key, value, canNotValue, "");
}
/**
* 检查params
*
* @param context 上下文
* @return 是否通过校验
*/
public boolean checkMessage(Context context) {
return checkMessage(context, null);
}
/**
* /**
* 检查params
*
* @param context 上下文
* @param checkParamsCallback 自定义当校验参数为null时的处理
* @return 是否通过校验
*/
public boolean checkMessage(Context context, CheckParamsCallback checkParamsCallback) {
Set strings = keySet();
for (String key : strings) {
Object value = this.get(key);
if (value instanceof String && !TextUtils.isEmpty((CharSequence) value)) {
continue;
}
if (value instanceof Integer && (Integer) value != 0) {
continue;
}
if (value instanceof Float && (Float) value != 0) {
continue;
}
if (value instanceof Long && (Long) value != 0) {
continue;
}
if (value instanceof SimpleParams) {
if (!((SimpleParams) value).checkMessage(context, checkParamsCallback)) {
return false;
}
}
String emptyMessage = checkParams.get(key);
//emptyMessage则说明,该参数不校验
if (!TextUtils.isEmpty(emptyMessage)) {
//传入回调,自定义处理
if (checkParamsCallback != null) {
checkParamsCallback.callBack(emptyMessage);
} else {
//默认Toast提示.
Toast.makeText(context, emptyMessage, Toast.LENGTH_SHORT).show();
}
return false;
}
}
return true;
}
public interface CheckParamsCallback {
void callBack(String s);
}
}
更多推荐
所有评论(0)