Skip to content

Commit 8baee52

Browse files
author
Chad Harchar
committed
BroadleafCommerce/QA#1300 - Don't validate Product Options that have null Validation String
1 parent 2038ed4 commit 8baee52

File tree

1 file changed

+19
-13
lines changed

1 file changed

+19
-13
lines changed

core/broadleaf-framework/src/main/java/org/broadleafcommerce/core/order/service/ProductOptionValidationServiceImpl.java

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,28 @@ public class ProductOptionValidationServiceImpl implements ProductOptionValidati
3939
*/
4040
@Override
4141
public Boolean validate(ProductOption productOption, String value) {
42-
ProductOptionValidationType validationType = productOption.getProductOptionValidationType();
43-
if (validationType == null || validationType == ProductOptionValidationType.REGEX) {
44-
if (!validateRegex(productOption.getValidationString(), value)) {
45-
LOG.error(productOption.getErrorMessage() + ". Value [" + value + "] does not match regex string ["
46-
+ productOption.getValidationString() + "]");
47-
String exceptionMessage = productOption.getAttributeName() + " " + productOption.getErrorMessage()
48-
+ ". Value [" + value + "] does not match regex string ["
49-
+ productOption.getValidationString() + "]";
50-
throw new ProductOptionValidationException(exceptionMessage, productOption.getErrorCode(),
51-
productOption.getAttributeName(), value, productOption.getValidationString(),
52-
productOption.getErrorMessage());
53-
}
42+
if (requiresValidation(productOption) && !validateRegex(productOption.getValidationString(), value)) {
43+
LOG.error(productOption.getErrorMessage() + ". Value [" + value + "] does not match regex string ["
44+
+ productOption.getValidationString() + "]");
45+
String exceptionMessage = productOption.getAttributeName() + " " + productOption.getErrorMessage()
46+
+ ". Value [" + value + "] does not match regex string ["
47+
+ productOption.getValidationString() + "]";
48+
throw new ProductOptionValidationException(exceptionMessage, productOption.getErrorCode(),
49+
productOption.getAttributeName(), value, productOption.getValidationString(),
50+
productOption.getErrorMessage());
5451
}
5552
return true;
5653
}
57-
54+
55+
protected Boolean requiresValidation(ProductOption productOption) {
56+
ProductOptionValidationType validationType = productOption.getProductOptionValidationType();
57+
58+
Boolean typeRequiresValidation = validationType == null || validationType == ProductOptionValidationType.REGEX;
59+
Boolean validationStringExists = productOption.getValidationString() != null;
60+
61+
return typeRequiresValidation && validationStringExists;
62+
}
63+
5864
protected Boolean validateRegex(String regex, String value) {
5965
if (value == null) {
6066
return false;

0 commit comments

Comments
 (0)