各种表单校验

1、单个input输入框(脱离表单的),添加校验

使用到 @blur事件, @blur事件是当元素失去焦点时所触发的事件

用法:

<el-row class="kong jichushux" v-for="(item, index) in jichupro" :key="index">
    <el-col :span="3"><span class="little-title">{{item.name}}</span></el-col>
    <el-col :span="6">
        <span v-if="vVisible">{{item.value}}</span>
        <el-input v-else v-model="item.value" @blur="checkRight(item)"></el-input>
    </el-col>
</el-row>


此处还用到的是行的循环,需要挨个对每行进行校验

checkRight(el) {
    const name = el.name;
    let val = el.value;
    // 根据不同的名字进行不同的校验
    switch (name) {
        case '对象名称':
            if(!val) {
                this.$message.error('请填入内容')
            }
            break;
        case '对象类型':
            if (val && val.substr(0, 5) !== 'value') {
                this.$message.error('固定前缀为value,请按格式填写!')
                val = ''
            }
            break;
        case '对象类型':
            if(!val) {
                this.$message.error('请填入内容')
            }
            break;
        default: 
            break;
    }
}


2、标签限制输入

el-input标签限制输入

3、vue+element-Ui实现简单的表单必填项验证

通过自带的属性rules来绑定一个验证规则

  • 验证规则:
  • 是否必须填: required:true|| fasle
  • 根据正则表达式验证: pattern
  • 最大长度和最小长度: min和max
  • 数据转换:transform(value){return}
  • 自定义校验功能:validador:fn(rule, value, callback)
  • 在这里插入图片描述
Rules: {
  goodsName: [
		// 还可以通过pattern来加入正则    
    { type: 'date',required: true, message: '商品名不能为空', trigg: 'blur' },
    // 也可以放入两条验证规则
    { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
  ]
}

el-form-item中prop是与rules验证规则对应的名称,验证的就是v-model存在不存在

这样在点击最后的提交按钮的时候,只需触发一个我们的validate就可以了

<el-form ref="basicInfo" :model="Form" :rules="Rules" label-width="120px" class="basicInfo">
  <el-form-item
    label="商品名称:"
    prop="goodsName"
  >
    <el-col class="goodsAddSecond-InputWidth">
      <el-input v-model="Form.goodsName"></el-input>
    </el-col>
  </el-form-item>
</el-form>
<el-button @click="submit('basicInfo')"></el-button>

submit(formName) {
  this.$refs[formName].validate(valid => {
    if(valid){
      alert("验证成功")
    }else{
      alert("验证失败")
      return false
    }
	})
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值