]> git.mxchange.org Git - pizzaservice-war.git/commitdiff
Please cherry-pick:
authorRoland Häder <roland@mxchange.org>
Sun, 20 Aug 2017 18:24:18 +0000 (20:24 +0200)
committerRoland Häder <roland@mxchange.org>
Sun, 20 Aug 2017 20:02:10 +0000 (22:02 +0200)
- rewrote handling allowEmptyEmail flag
- added noisy debug line

Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/pizzaapplication/beans/user/PizzaAdminUserWebRequestBean.java
src/java/org/mxchange/pizzaapplication/validator/emailaddress/PizzaEmailAddressValidator.java

index c6ec6c484ddf31ab7230785fcd86dc52c59854b7..df865996caabf359451e2dfa50a65c67d11e9a99 100644 (file)
@@ -222,6 +222,7 @@ public class PizzaAdminUserWebRequestBean extends BasePizzaController implements
         * @return Redirect outcome
         */
        public String addUser () {
+               System.out.println("addUser: this.contact="+this.getContact());
                // As the form cannot validate the data (required="true"), check it here
                if (this.getUserName() == null) {
                        // Throw NPE
index 4b2d7bbb0eaa32dff6b4472476f345deaabfb35c..0c309f42ae55e238c76fd164f875f86554b0bb36 100644 (file)
@@ -67,17 +67,34 @@ public class PizzaEmailAddressValidator extends BaseStringValidator implements V
 
        @Override
        public void validate (final FacesContext context, final UIComponent component, final Object value) throws ValidatorException {
+               System.out.println("validate: value=" + value); //NOI18N
                // The required field
                String[] requiredFields = {"emailAddress", "emailAddressRepeat", "resendEmailAddress"}; //NOI18N
 
-               // Check if allowNull is given, otherwise assume "not allowed"
-               Boolean allowEmpty = (component.getAttributes().containsKey("allowEmpty") ? Boolean.parseBoolean((String) component.getAttributes().get("allowEmpty")) : Boolean.FALSE); //NOI18N
+               // Default is to reject empty email address fields
+               Boolean allowEmptyEmail = Boolean.FALSE;
+
+               // Is attribute "allowEmptyEmail" set?
+               if (component.getAttributes().containsKey("allowEmptyEmail")) { //NOI18N
+                       // Get attribute
+                       Object attribute = component.getAttributes().get("allowEmptyEmail"); //NOI18N
+                       System.out.println("attribute=" + attribute); //NOI18N
+
+                       // Make sure, it is Boolean as no String is accepted anymore
+                       if (!(attribute instanceof String)) {
+                               // Not valid attribute, please use "true" or "false" (default)
+                               throw new IllegalArgumentException("allowEmptyEmail must be of type String. Please use \"true\" or \"false\" for f:attribute value."); //NOI18N
+                       }
+
+                       // Securely cast it
+                       allowEmptyEmail = Boolean.parseBoolean((String) attribute);
+               }
 
                // Pre-validation (example: not null, not a string, empty string ...)
-               super.preValidate(context, component, value, requiredFields, allowEmpty);
+               super.preValidate(context, component, value, requiredFields, allowEmptyEmail);
 
                // Is the email address empty and allowed?
-               if (null == value && allowEmpty) {
+               if (null == value && allowEmptyEmail) {
                        // Then accept this here
                        return;
                } else if (null == value) {