在开发中,对于一组输入信息需要进行校验判断,符合之后才可以进行下一步,如果某一个不符合要求,那么就会提示响应的错误信息,如果需要输入较多条信息,一个一个地进行判断会显得很麻烦,我们可以封装一个简单的校验器,把每个模型加入进行去执行判断,这样就可以省很多事情。并且使得代码更加优化,常见的使用场景:登陆注册,账户密码的修改,邮箱格式的校验等地方都可以使用这种校验模型。
首先是校验执行器ValidationExecutor,是一个抽象类,其中包含一个抽象的执行判断的方法doValidate(Context, String);
/**
* 校验执行器
*/
public abstract class ValidationExecutor {
public abstract boolean doValidate(Context context, String text);
}
接下来就是校验模型,ValidationModel, 主要包含一个校验执行器和EditText, 即每一个输入的EditText都有自己的校验条件,校验执行器可以对EditText进行校验。
/**
* 校验模型
*/
@SuppressWarnings("unused")
public class ValidationModel {
private EditText editText;
private ValidationExecutor validationExecutor;
public ValidationModel(){}
public ValidationModel(EditText editText, ValidationExecutor executor){
this.editText = editText;
this.validationExecutor = executor