• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

凉梁凉糕

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

form表单的验证validator如何传递参数

背景:很多表单内容需要动态的添加项 如某个字段是一个数组,数组里需要增减对象,想对对象的的值进行校验或动态联动校验

config: [
  {
    age: null,
    test: null,
    number: null
  },
  {
    age: null,
    test: null,
    number: null
  }
]

方法一:

看传递的是什么参数validator本身会存在其prop的值,当prop的值是动态的 我们也可以获取到动态的内容

前提是绑定的config是data的内容,可以在方法中通过this.config[0].test拿到这个值,一般情况,当表单内容是动态添加对象,对象有多个属性,当需要关联验证时需要传递对应的index,我们可以通过下面的方法来实现;

 

<el-form-item
      label="test"
      :prop="'config['+ index +'].test"
      :rules="{
         required: true, validator: validORate
       }"
>
// 当在输入框输入内容时,打印pars是一个队形,将拼接好的prop作为key 输入的内容作为值,此时prop动态,传入的内容也是动态,可以取截取到对应的index
validORate(rule, value, callback, pars) {
      console.log('index-----', pars)  //pars----- {config[0].test: "333"}
}

 

  

方法二:通过bind 动态改变this的执行,当需要传递其他参数时可以参考,参考地址: https://blog.csdn.net/qq_42941302/article/details/112799014

 

posted on 2021-04-12 17:11  凉梁凉糕  阅读(5095)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3