package eu.ttbox.androgister.ui.core.validator.validate; import android.content.Context; import android.widget.TextView; import eu.ttbox.androgister.ui.core.validator.ValidateField; import eu.ttbox.androgister.ui.core.validator.Validator; import eu.ttbox.androgister.ui.core.validator.validator.NotEmptyValidator; /** * Validator class to validate if the fields are empty fields of 2 or not. If * one of them is null, no error. If both are nulls: Error * * @author throrin19 * */ public class GroupFieldsRequiredValidate implements ValidateField { private TextView mField1; private TextView mField2; private Context mContext; private TextView source; private String mErrorMessage; ValidateTextView field1Validator; ValidateTextView field2Validator; public GroupFieldsRequiredValidate(TextView field1, TextView field2) { this(new ValidateTextView(field1).addValidator(new NotEmptyValidator()),// new ValidateTextView(field2).addValidator(new NotEmptyValidator())// ); } public GroupFieldsRequiredValidate(ValidateTextView field1Validator, ValidateTextView field2Validator) { this.field1Validator = field1Validator; this.field2Validator = field2Validator; source = field1Validator.getSource(); mContext = source.getContext(); } @Override public boolean isValid(CharSequence value) { boolean isValidField1 = field1Validator.isValid(mField1.getText()); boolean isValidField2 = field2Validator.isValid(mField2.getText()); if (isValidField1 || isValidField2) { if (!isValidField1) { mErrorMessage = field1Validator.getMessages(); source = field1Validator.getSource(); } else if (!isValidField2) { mErrorMessage = field2Validator.getMessages(); source = field2Validator.getSource(); } return false; } else { return true; } } @Override public String getMessages() { return mErrorMessage; } @Override public GroupFieldsRequiredValidate addValidator(Validator validator) { return this; } @Override public TextView getSource() { return source; } }