Change CSS on the fly in GWT
|
||||||
Change CSS on the fly in GWT Installare il modulo print-it, scaricando il .jar dal sito ufficiale:
http://code.google.com/p/gwt-print-it/ Creare una cartella lib nella cartella del progetto Eclipse-GWT a cui si vuole aggiungere la funzionalità di stampa e copiarci il .jar appena scaricato. Da Eclipse aggiornare il Progetto (F5) e una volta apparsa la cartella lib aprirla e cliccare col tasto desttro sul jar appena aggiunto scegliendo Build Path -> Add to build path. Nel file xml principale del progetto (WebApp.gwt.xml) aggiungere la riga: <inherits name='br.com.freller.tool.PrintIt'/> Quindi nel file html iniziale della webapp WebApp.html aggiungere all'interno del tag body la riga: <iframe id="__printingFrame" style="position:absolute;width:0;height:0;border:0"/> A questo punto si è pronti per stampare dal nostro progetto! Nel punto desiderato inserire (previa importazione di br.com.freller.tool.client.Print): Print.it(myWidget); Ed il gioco è fatto! 😀
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 |