Sorgente: Cropping multiple images the same way (short tutorial) – Linux Academy Blog
|
||||||
Ecco come validare i campi di un form con le GWT.
Prima di tutto occorre creare una classe personalizzata che estende la TextBox e che implementa alcuni metodi per la gestione dei validatori: CustomTextBox.java public class CustomTextBox extends TextBox { private static final String TEXTBOX_VALIDATION_ERROR_STYLE = "error-text-box"; private String errorMessage = ""; private ArrayList<Validator> validators = new ArrayList<Validator>(); public CustomTextBox() { } public CustomTextBox(String name) { setName(name); } public String getErrorMessage() { return errorMessage; } public void setErrorMessage(String errorMessage) { this.errorMessage = errorMessage; } public void addValidator(Validator validator) { validators.add(validator); } public boolean validate() { boolean validationResult = true; for (Validator validator : validators) { validationResult = validator.validate(getValue().trim()); if (!validationResult) { errorMessage = validator.getErrorMessage(); break; } errorMessage = validator.getErrorMessage(); } setErrorStyles(validationResult); return validationResult; } private void setErrorStyles(boolean validationResult) { if (validationResult) { removeStyleName(TEXTBOX_VALIDATION_ERROR_STYLE); setTitle(""); } else { addStyleName(TEXTBOX_VALIDATION_ERROR_STYLE); setTitle(errorMessage); } } @Override public void setValue(String s) { removeStyleDependentName(TEXTBOX_VALIDATION_ERROR_STYLE); super.setValue(s); } @Override public String getValue() { return super.getValue().trim(); } } Quindi creiamo uno scheletro (classe astratta) per i nostri validatori: Validator.java public abstract class Validator { public String errorMessage; public abstract boolean validate(String value); public abstract String getErrorMessage(); } Infine creiamo il validatore vero e proprio: Sample Email validator public class EmailValidator extends Validator { public boolean validate(String value) { if (value.matches("^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$")) { errorMessage = ""; return true; } else { errorMessage = "Enter valid email Id"; return false; } } public String getErrorMessage() { return errorMessage; } } Ecco lo stile... CSS: .error-text-box { border: 1px solid red; background: orange url("../symbol-error.png") no-repeat left center; padding-left: 15px !important; } Per ottenere un comportamento di questo tipo: A questo punto non ci resta che inserire il nostro campo CustomTextBox: . . . CustomTextBox myTB = new CustomTextBox(); myTB.addValidator(new EmailValidator()); . . . // SALVATAGGIO if(myTB.validate()) { salvaDati(); } . . . Fonte: http://stackoverflow.com/questions/6163893/form-validation-with-google-web-toolkit |
||||||
D I S C L A I M E R Powered by WordPress & Atahualpa |