前言
android开发中,你是否对表单校验深恶痛觉.
是否还在写大量的if else来校验参数是否输入?
这个文章可能能给你帮助.
直接见代码:
代码语言:javascript复制/**
* Created by Jlanglang on 2017/9/4 0004.
*/
public class SimpleParams extends HashMap<String, Object {
//这里放key,与校验失败后的提示内容
private HashMap<Object, String 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.put(key, value);
checkParams.put(key, emptyMessage);
return this;
}
/**
* 检查params
*
* @param context
* @return
*/
public boolean checkValue(Context context) {
return checkValue(context, null);
}
/**
* 检查params
*
* @param context
* @return
*/
public boolean checkValue(Context context, CheckParamsCallback checkParamsCallback) {
Set<String 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);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助。