From d7eecbf6e39321498351e90d3aa86b176994ea9f Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Wed, 29 Apr 2015 13:20:35 +0000 Subject: [PATCH] form validation ready git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/invite-friends-vre@114562 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 8 +-- .project | 10 ++-- .settings/org.eclipse.jst.jsp.core.prefs | 3 + .settings/org.eclipse.wst.common.component | 5 +- ....eclipse.wst.common.project.facet.core.xml | 1 + .tern-project | 1 + pom.xml | 4 +- .../validation/FormErrorsValidation.java | 30 ++++++++-- .../client/validation/FormView.java | 4 ++ .../client/validation/FormViewImpl.java | 16 ++++++ .../client/validation/FormViewImpl.ui.xml | 56 +++++++++---------- src/main/webapp/InviteFriends.css | 4 ++ src/main/webapp/InviteFriends.html | 2 - .../webapp/WEB-INF/jsp/InviteFriends_view.jsp | 5 -- 14 files changed, 96 insertions(+), 53 deletions(-) create mode 100644 .settings/org.eclipse.jst.jsp.core.prefs create mode 100644 .tern-project diff --git a/.classpath b/.classpath index 9f69b60..980bfe6 100644 --- a/.classpath +++ b/.classpath @@ -1,18 +1,18 @@ - + - + - + @@ -39,5 +39,5 @@ - + diff --git a/.project b/.project index 073215f..3c1a193 100644 --- a/.project +++ b/.project @@ -25,11 +25,6 @@ - - org.eclipse.m2e.core.maven2Builder - - - com.google.gdt.eclipse.core.webAppProjectValidator @@ -40,6 +35,11 @@ + + org.eclipse.m2e.core.maven2Builder + + + org.eclipse.jem.workbench.JavaEMFNature diff --git a/.settings/org.eclipse.jst.jsp.core.prefs b/.settings/org.eclipse.jst.jsp.core.prefs new file mode 100644 index 0000000..3a5c98d --- /dev/null +++ b/.settings/org.eclipse.jst.jsp.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +validateFragments=false +validation.use-project-settings=true diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index b318cda..c98bfaa 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,10 +1,13 @@ - + + + uses + diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml index 735eb31..bc0de8f 100644 --- a/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -4,4 +4,5 @@ + diff --git a/.tern-project b/.tern-project new file mode 100644 index 0000000..a185ba0 --- /dev/null +++ b/.tern-project @@ -0,0 +1 @@ +{"ide":{"scriptPaths":[]},"plugins":{"aui":{},"liferay":{},"yui":{}},"libs":["ecma5","browser"]} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 34723a2..a60080c 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.gcube.portlets.user invite-friends-vre war - 0.0.1-SNAPSHOT + 0.1.0-SNAPSHOT Invite Friends to VRE scm:svn:http://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/${project.artifactId} @@ -55,11 +55,13 @@ com.google.gwt gwt-user + ${gwtVersion} provided com.google.gwt gwt-dev + ${gwtVersion} provided diff --git a/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormErrorsValidation.java b/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormErrorsValidation.java index f66c7db..9f33c46 100644 --- a/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormErrorsValidation.java +++ b/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormErrorsValidation.java @@ -39,20 +39,41 @@ public class FormErrorsValidation extends AbstractActivity implements FormView.D @Override public boolean onSendClick() { EditorDriver editorDriver = view.getEditorDriver(); - UserDetails login = editorDriver.flush(); - Set> violations = validate(login); + UserDetails details = editorDriver.flush(); + Set> violations = validateEmailTextBox(details); //decorate widgets implementing HasEditorErrors with validation messages return editorDriver.setConstraintViolations( (Set) violations); } - private Set> validate(UserDetails user2InviteBean){ + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public boolean onEmailSendInviteClick() { + EditorDriver editorDriver = view.getEditorDriver(); + UserDetails details = editorDriver.flush(); + Set> violations = validateName(details); + return !violations.isEmpty(); + } + + private Set> validateName(UserDetails user2InviteBean) { + Set> violations = new HashSet>(); + if(user2InviteBean.getName() == null || "".equals(user2InviteBean.getName().trim())) { + violations.add(buildNotNullConstraintViolation(user2InviteBean, "name")); + } + if(user2InviteBean.getLastName() == null || "".equals(user2InviteBean.getLastName().trim())) { + violations.add(buildNotNullConstraintViolation(user2InviteBean, "lastname")); + } + return violations; + } + + private Set> validateEmailTextBox(UserDetails user2InviteBean){ Set> violations = new HashSet>(); if(user2InviteBean.getEmail() == null || "".equals(user2InviteBean.getEmail().trim())) { - violations.add(buildNotNullConstraintViolation(user2InviteBean, "email")); + violations.add(buildNotNullConstraintViolation(user2InviteBean, "email")); } else if (!isValidEmailAddress(user2InviteBean.getEmail())) { violations.add(buildInvalidEmailAddressConstraintViolation(user2InviteBean, "email")); } + return violations; } @@ -155,4 +176,5 @@ public class FormErrorsValidation extends AbstractActivity implements FormView.D return valid; } + } diff --git a/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormView.java b/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormView.java index 2910cdb..6276d6e 100644 --- a/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormView.java +++ b/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormView.java @@ -47,7 +47,11 @@ public interface FormView extends IsWidget { public interface Delegate { boolean onSendClick(); + + boolean onEmailSendInviteClick(); } + + EditorDriver getEditorDriver(); } diff --git a/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormViewImpl.java b/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormViewImpl.java index 582f480..7c894ee 100644 --- a/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormViewImpl.java +++ b/src/main/java/org/gcube/portlets/user/invitefriends/client/validation/FormViewImpl.java @@ -4,9 +4,11 @@ package org.gcube.portlets.user.invitefriends.client.validation; import com.github.gwtbootstrap.client.ui.Button; +import com.github.gwtbootstrap.client.ui.ControlGroup; import com.github.gwtbootstrap.client.ui.HelpBlock; import com.github.gwtbootstrap.client.ui.Modal; import com.github.gwtbootstrap.client.ui.TextBox; +import com.github.gwtbootstrap.client.ui.constants.ControlGroupType; import com.google.gwt.core.client.GWT; import com.google.gwt.editor.client.Editor; import com.google.gwt.editor.client.EditorDriver; @@ -41,8 +43,11 @@ public class FormViewImpl extends Composite implements FormView, Editor - + + + + + Send Invite + + + + Please, enter Name and + Last name + of the friend you + wish to invite: - - - - - Send Invite - - - - - - Please, enter Name and - Last name - of the friend you - wish to invite: - - - - - - - - - - Cancel - Send Invite - - - + + + + + + + + Cancel + Send Invite + + \ No newline at end of file diff --git a/src/main/webapp/InviteFriends.css b/src/main/webapp/InviteFriends.css index b08cf9f..ef0efce 100644 --- a/src/main/webapp/InviteFriends.css +++ b/src/main/webapp/InviteFriends.css @@ -2,6 +2,10 @@ } +form { + margin-bottom: 10px !important; +} + .helpFontSize { font-size: 14px; } diff --git a/src/main/webapp/InviteFriends.html b/src/main/webapp/InviteFriends.html index ec31c4d..3506b79 100644 --- a/src/main/webapp/InviteFriends.html +++ b/src/main/webapp/InviteFriends.html @@ -14,8 +14,6 @@ Web Application Starter Project - - diff --git a/src/main/webapp/WEB-INF/jsp/InviteFriends_view.jsp b/src/main/webapp/WEB-INF/jsp/InviteFriends_view.jsp index 09f4919..aa6a0e8 100644 --- a/src/main/webapp/WEB-INF/jsp/InviteFriends_view.jsp +++ b/src/main/webapp/WEB-INF/jsp/InviteFriends_view.jsp @@ -9,11 +9,6 @@ --%> - - -