diff --git a/web/src/utils/common.js b/web/src/utils/common.js index c25f2a24..25e5c635 100644 --- a/web/src/utils/common.js +++ b/web/src/utils/common.js @@ -140,6 +140,15 @@ export function renderQuota(quota, digits = 2) { return renderNumber(quota); } +export const verifyJSON = (str) => { + try { + JSON.parse(str); + } catch (e) { + return false; + } + return true; +}; + export function renderNumber(num) { if (num >= 1000000000) { return (num / 1000000000).toFixed(1) + 'B'; diff --git a/web/src/views/Setting/component/OperationSetting.js b/web/src/views/Setting/component/OperationSetting.js index a52b57d8..3835751b 100644 --- a/web/src/views/Setting/component/OperationSetting.js +++ b/web/src/views/Setting/component/OperationSetting.js @@ -2,7 +2,7 @@ require('dayjs/locale/zh-cn'); import { useState, useEffect } from 'react'; import SubCard from 'ui-component/cards/SubCard'; import { Stack, FormControl, InputLabel, OutlinedInput, Checkbox, Button, FormControlLabel, TextField } from '@mui/material'; -import { showSuccess, showError } from 'utils/common'; +import { showSuccess, showError, verifyJSON } from 'utils/common'; import { API } from 'utils/api'; import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'; import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';