Просмотр исходного кода

✨ feat(GroupRatioSettings): enhance JSON validation for group ratios

CaIon 8 месяцев назад
Родитель
Сommit
3c276d13c4
1 измененных файлов с 21 добавлено и 2 удалено
  1. 21 2
      web/src/pages/Setting/Operation/GroupRatioSettings.js

+ 21 - 2
web/src/pages/Setting/Operation/GroupRatioSettings.js

@@ -180,8 +180,27 @@ export default function GroupRatioSettings(props) {
                 stopValidateWithError
                 rules={[
                   {
-                    validator: (rule, value) => verifyJSON(value),
-                    message: t('不是合法的 JSON 字符串'),
+                    validator: (rule, value) => {
+                      if (!value || value.trim() === '') {
+                        return true; // Allow empty values
+                      }
+                      
+                      // First check if it's valid JSON
+                      try {
+                        const parsed = JSON.parse(value);
+                        
+                        // Check if it's an array
+                        if (!Array.isArray(parsed)) {
+                          return false;
+                        }
+                        
+                        // Check if every element is a string
+                        return parsed.every(item => typeof item === 'string');
+                      } catch (error) {
+                        return false;
+                      }
+                    },
+                    message: t('必须是有效的 JSON 字符串数组,例如:["g1","g2"]'),
                   },
                 ]}
                 onChange={(value) =>