1 40 41 42 package org.jahia.engines.validation; 43 44 import org.apache.commons.validator.Field; 45 import org.apache.commons.validator.Form; 46 import org.apache.commons.validator.ValidatorResources; 47 import org.apache.struts.validator.Resources; 48 import org.jahia.data.containers.JahiaContainer; 49 import org.jahia.data.containers.JahiaContainerDefinition; 50 import org.jahia.data.fields.JahiaField; 51 import org.jahia.exceptions.JahiaException; 52 import org.jahia.params.ParamBean; 53 54 import java.util.ArrayList ; 55 56 57 67 public class EngineValidationHelper { 68 69 private static final org.apache.log4j.Logger logger = 70 org.apache.log4j.Logger.getLogger(EngineValidationHelper.class); 71 72 private String previousScreen; 73 private String nextScreen; 74 private final ArrayList validationErrors; 75 76 public EngineValidationHelper() { 77 validationErrors = new ArrayList (); 78 } 79 80 public String getPreviousScreen() { 81 return this.previousScreen; 82 } 83 84 public void setPreviousScreen(String screen) { 85 this.previousScreen = screen; 86 } 87 88 public String getNextScreen() { 89 return this.nextScreen; 90 } 91 92 public void setNextScreen(String screen) { 93 this.nextScreen = screen; 94 } 95 96 public void addError(ValidationError ve) { 97 if (ve != null) { 98 this.validationErrors.add(ve); 99 } 100 } 101 102 public ArrayList getErrors() { 103 return this.validationErrors; 104 } 105 106 public boolean hasErrors() { 107 return (this.validationErrors.size() > 0); 108 } 109 110 public String toString() { 111 final StringBuffer buff = new StringBuffer (); 112 buff.append(EngineValidationHelper.class.getName()); 113 buff.append(": Errors: ").append(validationErrors); 114 return buff.toString(); 115 } 116 117 120 public static boolean isFieldMandatory(final JahiaContainer parentContainer, 121 final JahiaField theField, 122 final ParamBean jParams) throws JahiaException { 123 if (parentContainer == null || theField == null) return false; 124 125 final String fieldName = theField.getDefinition().getName(); 126 127 final JahiaContainerDefinition def = parentContainer.getDefinition(); 128 if (def == null) return false; 129 130 final String containerBeanName = def.getProperty("containerBeanName"); 131 final String validatorKey = def.getProperty("validatorKey"); 132 133 logger.debug("containerBeanName: " + containerBeanName + 134 ", validatorKey: " + validatorKey); 135 136 if (containerBeanName != null 137 && containerBeanName.length() > 0 138 && validatorKey != null 139 && validatorKey.length() > 0) { 140 141 final ParamBean paramBean = jParams; 142 final ValidatorResources vr = Resources.getValidatorResources(paramBean.getContext(), 143 paramBean.getRequest()); 144 if (vr == null) return false; 145 final Form form = vr.getForm(jParams.getLocale(), validatorKey); 146 logger.debug("Form: " + form); 147 if (form == null) return false; 148 final Field f = form.getField(fieldName); 149 if (f == null) return false; 150 return f.getDepends().indexOf("required") > -1 && fieldName.equals(f.getKey()); 151 } 152 return false; 153 } 154 } 155 156 | Popular Tags |