package com.quemb.qmbform.annotation.validators;
import com.quemb.qmbform.R;
import com.quemb.qmbform.annotation.FormValidator;
import com.quemb.qmbform.descriptor.RowDescriptor;
import com.quemb.qmbform.descriptor.RowValidationError;
import com.quemb.qmbform.descriptor.Value;
/**
* Created by pmaccamp on 8/26/2015.
*/
public class EmailValidator implements FormValidator {
private static final String EMAIL_PATTERN =
"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
@Override
public RowValidationError validate(RowDescriptor descriptor) {
RowValidationError result = null;
Value value = descriptor.getValue();
if (value.getValue() != null && value.getValue() instanceof String) {
String val = (String) value.getValue();
if (!val.matches(EMAIL_PATTERN)){
result = new RowValidationError(descriptor, R.string.validation_invalid_email);
}
}else {
result = new RowValidationError(descriptor, R.string.validation_invalid_email);
}
return result;
}
}