diff --git a/packages/dms-kit/src/utils/FormRule.ts b/packages/dms-kit/src/utils/FormRule.ts index c892b07294..bd9852bbc8 100644 --- a/packages/dms-kit/src/utils/FormRule.ts +++ b/packages/dms-kit/src/utils/FormRule.ts @@ -91,7 +91,7 @@ export const whiteSpaceSqlValidator = ( ): FormValidatorRule => { return (_, values) => { const placeholder = '/* input your sql */'; - if (values === placeholder && enableRule) { + if (enableRule && (values === placeholder || !values?.trim())) { return Promise.reject( i18n.t('common.form.placeholder.input', { name: i18n.t('common.sqlStatements') diff --git a/packages/dms-kit/src/utils/__tests__/FormRule.test.ts b/packages/dms-kit/src/utils/__tests__/FormRule.test.ts index 63cff590ef..8855649fbe 100644 --- a/packages/dms-kit/src/utils/__tests__/FormRule.test.ts +++ b/packages/dms-kit/src/utils/__tests__/FormRule.test.ts @@ -75,6 +75,17 @@ describe('utils/FormRule', () => { expect(message).toBe('请输入SQL语句'); }); + it('should reject whitespace-only sql', async () => { + const check = whiteSpaceSqlValidator(); + let message = ''; + try { + await check?.({} as any, ' ', () => {}); + } catch (error: any) { + message = error; + } + expect(message).toBe('请输入SQL语句'); + }); + it('should not check white space sql when enableRule is false', async () => { const check = whiteSpaceSqlValidator(false); let message = '';