]> git.mxchange.org Git - addressbook-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:01:30 +0000 (22:01 +0200)
- rewrote handling allowEmptyEmail flag
- added noisy debug line

Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/addressbook/beans/user/AddressbookAdminUserWebRequestBean.java
src/java/org/mxchange/addressbook/validator/emailaddress/AddressbookEmailAddressValidator.java

index 40dc28111ca70686c9eb00de67f1f464f33b91ed..ac9e4f015b7e03ab78641a6f306a7428ec39ca82 100644 (file)
@@ -222,6 +222,7 @@ public class AddressbookAdminUserWebRequestBean extends BaseAddressbookControlle
         * @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 aa4a968b6161a2242fb897084edf1bba3d296767..6537226eb20e0ea60fd6d13358eef12c9fa52d3c 100644 (file)
@@ -67,17 +67,34 @@ public class AddressbookEmailAddressValidator extends BaseStringValidator implem
 
        @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) {