]> git.mxchange.org Git - jfinancials-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 21:07:08 +0000 (23:07 +0200)
- rewrote handling allowEmptyEmail flag
- added noisy debug line

Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/jfinancials/beans/user/FinancialsAdminUserWebRequestBean.java
src/java/org/mxchange/jfinancials/validator/emailaddress/FinancialsEmailAddressValidator.java

index babe224a093ea70ea83a76a604c0a979ee78da04..5ba476ba1c935394aded12e6a77f4841525bf589 100644 (file)
@@ -215,6 +215,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
         * @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 d55cc6d2f58767fecb9b2238f2c1c775eb62c05e..e3c427d32587f6bcda664aab3aae2c48602fd8c5 100644 (file)
@@ -66,17 +66,34 @@ public class FinancialsEmailAddressValidator extends BaseStringValidator impleme
 
        @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) {