如何设置某一个字段不允许输入重复的内容,会有提醒,导入的时候也会有提醒

许汉超 已解决

回答8

许汉超

这个自定义表单里没有这个唯一值的校验类型,要怎么加一下。默认表单是可以的,自定义表单字段不生效。

许汉超
@超级管理员

自己配置校验可以实现,但会存在编辑时自身唯一值的校验,请问我们框架是如何获取当前dataId的:


initOption() {

 const rules = useFun.getPropConfig('text_1').rules

 

 // 获取当前记录ID(根据你的框架调整)

 const currentId = this?.data?.id || this?.formData?.id || ''

 

 rules.push({

   validator: async (rule, value, callback) => {

     if (value !== undefined && value !== null && value !== '') {

       const data = await useFun.requestApi('post', '/jeelowcode/dbform-data/unique/1831577841380671489', {

         data: {

           fieldCode: 'name',

           fieldVal: value,

           dataId: currentId  // 传入当前记录ID,排除自身

         }

       })

       if (data) return callback(new Error('当前值已存在'))

     }

     callback()

   },

   trigger: 'blur'

 })

 

 useFun.setPropConfig('text_1', { rules })

}

超级管理员
@许汉超


编辑时你外部应该会传入id的,你在校验里面打印一下formData.value看看


写回答

扫码关注

微信公众号二维码