segunda-feira, 13 de dezembro de 2010

Validação no Android

Hoje percebi que validação de campos de formulário não é o forte do Android. Não encontrei muita coisa pronta então precisei fazer na mão. Nada muito trabalhoso, mas quem está acostumado a usar um framework como o struts ou spring vai perceber o que estou querendo dizer...
No fim criei uma classe com alguns métodos estáticos... pode ser que resolva criar algo mais robusto, mas por enquanto tá valendo...


import java.text.ParseException;
import java.text.SimpleDateFormat;

import android.text.Editable;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;

public class Validator {

public static boolean validateNotNull(View pView, String pMessage) {
if (pView instanceof EditText) {
EditText edText = (EditText) pView;
Editable text = edText.getText();
if (text != null) {
String strText = text.toString();
if (!TextUtils.isEmpty(strText)) {
return true;
}
}
// em qualquer outra condição é gerado um erro
edText.setError(pMessage);
edText.setFocusable(true);
edText.requestFocus();
return false;
}
return false;
}

public static boolean validateDateFormat(View pView, String pDateFormat,
String pMessage) {
if (pView instanceof EditText) {
EditText edText = (EditText) pView;
Editable text = edText.getText();
if (text != null) {
String strText = text.toString();
if (!TextUtils.isEmpty(strText)) {
SimpleDateFormat format = new SimpleDateFormat(pDateFormat);
try {
format.parse(strText);
return true;
} catch (ParseException pe) {

}
}
}
// em qualquer outra condição é gerado um erro
edText.setError(pMessage);
edText.setFocusable(true);
edText.requestFocus();
return false;
}
return false;
}
}

Um comentário:

  1. Obrigado meu amigo, estava pensando nisto tambem.
    Att.
    Dimitri Vargas Figueiredo Guimarães
    zerod.com.br

    ResponderExcluir