From 2dd645b5346f510d1207346347f1fa70a204d9d3 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 05 十一月 2026 16:11:34 +0800
Subject: [PATCH] 1. 完成项目管理全流程优化,补充阶段推进、汇报统计及生命周期记录。 2. 完成业务与项目数据关联,支持查看项目进度、详情及相关附件。 3. 完成采购审批流程接入,支持配置审批人员及采购业务审批。 4. 精简用户、角色、部门、菜单和字典,完善操作日志及附件下载。

---
 src/main/java/com/ruoyi/common/xss/XssValidator.java |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/xss/XssValidator.java b/src/main/java/com/ruoyi/common/xss/XssValidator.java
index 4316372..585fa8a 100644
--- a/src/main/java/com/ruoyi/common/xss/XssValidator.java
+++ b/src/main/java/com/ruoyi/common/xss/XssValidator.java
@@ -1,7 +1,8 @@
 package com.ruoyi.common.xss;
 
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import com.ruoyi.common.utils.StringUtils;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -12,18 +13,27 @@
  */
 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)
     {
+        StringBuilder sHtml = new StringBuilder();
         Pattern pattern = Pattern.compile(HTML_PATTERN);
         Matcher matcher = pattern.matcher(value);
-        return matcher.matches();
+        while (matcher.find())
+        {
+            sHtml.append(matcher.group());
+        }
+        return pattern.matcher(sHtml).matches();
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3