el-form的rule无法校验(没有效果)的几个注意点

在Vue2中使用this.$refs访问表单元素时,需注意el-form的ref与引用名称匹配。rule用于表单校验,应与prop一致。在动态表单中,prop应基于model的结构定义,如`studentList.+idx+.name`,确保rule的属性存在于el-form的:model中。
摘要由CSDN通过智能技术生成
  1. 使用this.$refs[xxx]方式的朋友要注意el-form声明的ref=名称 必须与xxx一致
  2. :rule = “rule”, 我们可以在data(){retrun { }} 中定义rule, 也可以直接在el-form-item属性中定义, 特别是在动态表单中, 特别实用
<el-form-item :rules="[{}]" ...
  1. 使用rule校验表单的情况下, 一定要注意在el-form-item属性中加上prop,别粗心。否则rule该项不会生效。当然, 你的prop=xxx这个也必须与model={xxx: yyy}中的属性一致。
  2. 动态表单的校验, 怎么定义prop?
<el-form-item v-for="(item, idx) in form.studentList" :key="idx" :prop="'studentList.'+ idx + '.name'" :rules="[{...}]">
	<el-input v-model="item.name" />
</el-form-item>
  1. rule校验的属性必须存在于el-form的:model中。 上一条中写的是form.studentList, 而不是直接写studentList, 一般我们一个动态表单有很多复杂的属性, 不管多复杂他们的根节点都是定义的:model, 当然这是一般写法, 也是仅在vue2。
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值