Browse Source

修复Xss注解字段值为空时的异常问题

RuoYi 3 years ago
parent
commit
50236ae4e5

+ 0 - 1
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java

@@ -88,7 +88,6 @@ public class ExcelUtil<T>
 
     public static final String[] FORMULA_STR = { "=", "-", "+", "@" };
 
-
     /**
      * Excel sheet最大行数,默认65536
      */

+ 7 - 2
ruoyi-common/src/main/java/com/ruoyi/common/xss/XssValidator.java

@@ -1,5 +1,6 @@
 package com.ruoyi.common.xss;
 
+import com.ruoyi.common.utils.StringUtils;
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
 import java.util.regex.Matcher;
@@ -12,15 +13,19 @@ import java.util.regex.Pattern;
  */
 public class XssValidator implements ConstraintValidator<Xss, String>
 {
-    private final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />";
+    private static final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />";
 
     @Override
     public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext)
     {
+        if (StringUtils.isBlank(value))
+        {
+            return true;
+        }
         return !containsHtml(value);
     }
 
-    public boolean containsHtml(String value)
+    public static boolean containsHtml(String value)
     {
         Pattern pattern = Pattern.compile(HTML_PATTERN);
         Matcher matcher = pattern.matcher(value);