Element-UI

2 篇文章 0 订阅


Element-ui官方文档

表单

vue如何使用rules对表单字段进行校验

表单验证

下面我们看一下官网上的例子,form表单需要绑定rules对象,然后其中的每一项验证规则都对应rules里面的每一条规则。
prop字段为校验的字段,对应的是rules对象里面的值

<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
  <el-form-item label="活动名称" prop="name">
    <el-input v-model="ruleForm.name"></el-input>
  </el-form-item>
</el-form>
<script>
  export default {
    data() {
      return {
        ruleForm: {
          name: '',
        },
        rules: {
          name: [
             //required =>表示该字段必填,而且前面会出现*
             //trigger=>blur:失去焦点触发;change:数据改变
            { required: true, message: '请输入活动名称', trigger: 'blur' },
            { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
          ],      
       }
    },
  }
 }
</script>

获取验证结果

上面的例子

   this.$refs.ruleForm.validate((res) => {
     //如果都为true,会返回res为true,否则为false
  }

自定义验证

我们多了一个 validator字段,接受一个回调函数

 data() {
    //我们可以写在这个位置
    var validatePass = (rule, value, callback) => {
      if (value === "") {
        callback(new Error("请输入密码"));
      } else {
        if (this.ruleForm.checkPass !== "") {
          this.$refs.ruleForm.validateField("checkPass");
        }
        callback();
      }
    };
    return {
      rules: {
        pass: [{ validator: validatePass, trigger: "blur" }],
      },
    };
  },


直接用pattern进行匹配验证:

name: [ { pattern: pattern验证, required: true, message: "提示信息", trigger: "blur" }]

前端Vue中常用rules校验规则:

1、是否合法IP地址:

pattern:/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/,

2.是否手机号码或者固话

pattern:/^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/,

3. 是否身份证号码

pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,

4.是否邮箱

pattern:/^([a-zA-Z0-9]+[-_\.]?)+@[a-zA-Z0-9]+\.[a-z]+$/,

5.整数填写

pattern:/^-?[1-9]\d*$/,

6.正整数填写

pattern:/^[1-9]\d*$/,

7.小写字母

pattern:/^[a-z]+$/,

8.大写字母

pattern:/^[A-Z]+$/,

9.大小写混合

pattern:/^[A-Za-z]+$/,

10.多个8位数字格式(yyyyMMdd)并以逗号隔开

pattern:/^\d{8}(\,\d{8})*$/,

11.数字加英文,不包含特殊字符

pattern:/^[a-zA-Z0-9]+$/,

12.前两位是数字后一位是英文

pattern:/^\d{2}[a-zA-Z]+$/,

13.密码校验(6-20位英文字母、数字或者符号(除空格),且字母、数字和标点符号至少包含两种)

pattern:/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/,

14.中文校验

pattern:/^[\u0391-\uFFE5A-Za-z]+$/,

15.年龄校验
限制1-120之间

pattern:/^(?:[1-9][0-9]?|1[01][0-9]|120)$/

vue验证器vue-validator
vue-validator官网

Vee Validata官网

Table表格

插入图片,使用插槽

官网上说明
在这里插入图片描述
row:是插槽子组件返回来的循环中的每一项
例如

   <el-table-column prop="logoUrl" label="品牌LOGO" width="width">
        <template v-slot=" { row, $index }">
          <img :src="row.logoUrl" alt="" style="width: 100px; height: 100px" />
        </template>
      </el-table-column>

Popconfirm 气泡确认框

遇见的问题

Popconfirm在table中使用失效的问题

一般是缺乏唯一标识 => ref ,绑定唯一标识就可以了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李和贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值