diff --git a/src/hooks/common/form.ts b/src/hooks/common/form.ts index f6296a00..fa6ce6f4 100644 --- a/src/hooks/common/form.ts +++ b/src/hooks/common/form.ts @@ -2,6 +2,7 @@ import { ref, toValue } from 'vue'; import type { ComputedRef, Ref } from 'vue'; import type { FormInst } from 'naive-ui'; import { REG_CODE_SIX, REG_EMAIL, REG_PHONE, REG_PWD, REG_USER_NAME } from '@/constants/reg'; +import { isNull } from '@/utils/common'; import { $t } from '@/locales'; export function useFormRules() { @@ -52,7 +53,7 @@ export function useFormRules() { required: true, trigger: ['input', 'blur'], validator: (_rule: any, value: any) => { - if (value === null || value === undefined || value === '') { + if (isNull(value) || (Array.isArray(value) && value.length === 0)) { return new Error(message); } return true; diff --git a/src/utils/common.ts b/src/utils/common.ts index 497a9b9a..1888dd27 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -78,12 +78,12 @@ export function humpToLine(str: string, line: string = '-') { /** 判断是否为空 */ export function isNotNull(value: any) { - return value !== undefined && value !== null && value !== '' && value !== 'undefined' && value !== 'null'; + return value !== undefined && value !== null && value !== ''; } /** 判断是否为空 */ export function isNull(value: any) { - return value === undefined || value === null || value === '' || value === 'undefined' || value === 'null'; + return value === undefined || value === null || value === ''; } /** 判断是否为图片类型 */ diff --git a/src/views/system/user/modules/user-operate-drawer.vue b/src/views/system/user/modules/user-operate-drawer.vue index 8bbdc419..68ecfa2c 100644 --- a/src/views/system/user/modules/user-operate-drawer.vue +++ b/src/views/system/user/modules/user-operate-drawer.vue @@ -65,14 +65,15 @@ function createDefaultModel(): Model { }; } -type RuleKey = Extract; +type RuleKey = Extract; const rules: Record = { userName: [createRequiredRule($t('page.system.user.form.userName.required'))], nickName: [createRequiredRule($t('page.system.user.form.nickName.required'))], password: [{ ...patternRules.pwd, required: props.operateType === 'add' }], phonenumber: [patternRules.phone], - status: [createRequiredRule($t('page.system.user.form.status.required'))] + status: [createRequiredRule($t('page.system.user.form.status.required'))], + roleIds: [{ ...createRequiredRule('请选择角色'), type: 'array' }] }; async function getUserInfo() {