表单项formItem中使用自定义组件校验rules

antdvelementUI 表单项的 inputselect 等需要用单独的自定义文件的时候,校验需要在需要校验的时候 emit(‘change’, val)`` 一下以达到表单 rules 规则校验的效果

市面上的 UI 中的表单(我只试过 antdvelementUI ), 在写的时候大家是不是都是直接一溜烟写下来,如 element 官网案例所示:
在这里插入图片描述
但实际上,我们需要校验的项目很多的时候,或者有些项目比较复杂又或者是已经写好已有的公共组件,这时候放进 formItem 中,小伙伴们是不是都不知道怎么自动触发校验了?如这样:
在这里插入图片描述
假如 formItem 中是一个自定义组件,并且每次操作后都想像 elementUI 中一样改变即校验合法性,好多朋友就不知道怎么办了。
这里只需要在自定义组件内部需要触发校验时 emit 一个 change 事件,将值带出来,就能达到实时校验的效果啦!

另外 elementUIantd 使用的校验都是 validateJS ,所以都有异曲同工之妙。

el-form-renderer是一个基于Element UI的表单渲染器,用于简化表单的开发和校验。而el-form-item是el-form-renderer的一个组件,用于包裹表单并进行校验。 在el-form-item,可以通过rules属性来定义校验规则。rules属性是一个数组,每个元素都是一个对象,用于描述一个校验规则。每个规则对象包含以下属性: 1. required(必填):指定该字段是否为必填,可以是一个布尔值或者一个函数。如果是函数,则根据函数的返回值来确定是否必填。 2. validator(自定义校验函数):指定一个自定义的校验函数,该函数接收三个参数:rule(当前规则对象)、value(当前字段的值)和callback(回调函数)。在自定义校验函数,可以根据具体的业务逻辑进行校验,并通过调用callback回调函数来返回校验结果。 3. trigger(触发方式):指定触发校验的方式,默认为'change',即在字段值改变时触发校验。还可以设置为'blur'(失去焦点时触发校验)或'submit'(表单提交时触发校验)。 4. message(错误提示信息):指定校验失败时的错误提示信息。 以下是一个示例代码,展示了如何在el-form-renderer使用el-form-item进行校验规则的定义: ```html <el-form-renderer :model="formData" :rules="formRules"> <el-form-item label="用户名" prop="username"> <el-input v-model="formData.username"></el-input> </el-form-item> </el-form-renderer> ``` ```javascript data() { return { formData: { username: '' }, formRules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' }, { min: 6, max: 12, message: '用户名长度在6到12个字符之间', trigger: 'blur' } ] } }; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值