package eu.ttbox.androgister.ui.core.validator; import java.util.ArrayList; import java.util.Iterator; import android.widget.TextView; /** * Form Validation Class * * Immediately, only works with EditText * * @author throrin19 * * @version 1.0 * */ public class Form { protected ArrayList<ValidateField> mValidates = new ArrayList<ValidateField>(); /** * Function adding Validates to our form * @param validate * {@link ValidateField} Validate to add */ public Form addValidates(ValidateField validate){ this.mValidates.add(validate); return this; } /** * Called to validate our form. * If an error is found, it will be displayed in the corresponding field. * @return * boolean : true if the form is valid * false if the form is invalid */ public boolean validate(){ boolean result = true; Iterator<ValidateField> it = this.mValidates.iterator(); while(it.hasNext()){ ValidateField validator = it.next(); TextView field = validator.getSource(); field.setError(null); if(!validator.isValid(field.getText() )){ result = false; field.setError(validator.getMessages()); } } return result; } }