Ver código fonte

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

RuoYi 4 anos atrás
pai
commit
27d46fc0a4

+ 9 - 4
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/xss/XssValidator.java

@@ -1,9 +1,10 @@
1 1
 package com.ruoyi.common.core.xss;
2 2
 
3
-import javax.validation.ConstraintValidator;
4
-import javax.validation.ConstraintValidatorContext;
5 3
 import java.util.regex.Matcher;
6 4
 import java.util.regex.Pattern;
5
+import javax.validation.ConstraintValidator;
6
+import javax.validation.ConstraintValidatorContext;
7
+import com.ruoyi.common.core.utils.StringUtils;
7 8
 
8 9
 /**
9 10
  * 自定义xss校验注解实现
@@ -12,15 +13,19 @@ import java.util.regex.Pattern;
12 13
  */
13 14
 public class XssValidator implements ConstraintValidator<Xss, String>
14 15
 {
15
-    private final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />";
16
+    private static final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />";
16 17
 
17 18
     @Override
18 19
     public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext)
19 20
     {
21
+        if (StringUtils.isBlank(value))
22
+        {
23
+            return true;
24
+        }
20 25
         return !containsHtml(value);
21 26
     }
22 27
 
23
-    public boolean containsHtml(String value)
28
+    public static boolean containsHtml(String value)
24 29
     {
25 30
         Pattern pattern = Pattern.compile(HTML_PATTERN);
26 31
         Matcher matcher = pattern.matcher(value);