kailong321200875 / vue-element-plus-admin

A backend management system based on vue3, typescript, element-plus, and vite
https://element-plus-admin.cn/
MIT License
2.81k stars 682 forks source link

BUG:表单校验 notSpace 函数 #495

Open Asenzdl opened 4 months ago

Asenzdl commented 4 months ago

当编辑和新增共用一个表单时,编辑表单中未传入某个字段值(比如密码)并且加入空格规则检验,会在进入编辑表单时错误校验(没有空格却打印不能包含空格)

我的解决办法:替换原有 notSpace 函数

const notSpace = (message?: string): FormItemRule => {
    return {
      validator: (_, val, callback) => {
        if (val === null || val === undefined || val === '') {
          callback() // 空值直接通过验证
        } else if (typeof val === 'string' && val.indexOf(' ') !== -1) {
          callback(new Error(message || t('common.notSpace')))
        } else {
          callback()
        }
      }
    }
  }