vue中的rules表单校验规则使用方法 :rules=“rules“

一、el-form里面必写属性值

:ref="dataForm" // 提交表单时进行校验

:rules="rules" // return 下的校验规则

:model="userForm" // 绑定表单的值

html 复制代码
<el-form
  ref="dataForm"     // 必写属性值
  :rules="rules"     // 必写属性值
  :model="userForm"  // 必写属性值
  label-position="left"
  label-width="100px"
>
  <el-row>
    <el-col :span="12">
      <el-form-item
        label="充值金额"
        prop="amount"  // 必写属性值
      >
        <el-input
          v-model="userForm.amount"  // 必写属性值
          placeholder="请输入充值金额"
        ></el-input>
      </el-form-item>
    </el-col>
  </el-row> 
</el-form>
<div slot="footer" class="dialog-footer" align="center">
  <el-button @click="dialogFormVisible = false">返回</el-button>
  <el-button type="primary" @click="Recharge()" >
    提交
  </el-button>
</div>

二、:ref 提交表单时进行校验

点击提交时,会先对表单的值进行校验判断,校验通过后,再进行后续操作。

java 复制代码
Recharge() {
  this.$refs['dataForm'].validate((valid) => {
    if (valid) {
      // 校验通过、调充值接口的逻辑操作
  }
})

三、:rules 校验规则

el-form-item 里面使用 prop 属性绑定规则

<el-form-item label="充值金额" prop="amount"> ... ... </el-form-item>
required:显示输入框为选填或必填项;

message:提示信息;

pattern:正则表达式;

trigger:触发事件 => 一般blur用于input、chang用于select,picker等;

java 复制代码
data() {
  return { 
    rules: {
      amount: [
        { required: true, message: '充值金额不能为空', trigger: 'blur' },
        {
          pattern: /^\d+(\.\d{1,1})?$/,
          message: '金额为数字类型且最多保留1位小数',
          trigger: 'blur',
        },
      ],
    },
  }
},

四、:model 绑定表单的值

el-input 里面使用 v-model 绑定表单值

<el-input v-model="userForm.amount" ></el-input>

java 复制代码
data() {
  return {
    userForm: {
      amount: '',
    }, 
  }
},
 

问题:

校验未通过,关闭弹窗再打开还存在的问题:

复制代码
 this.dialogFormVisible = true
 this.$nextTick(() => {
   this.$refs['dataForm'].clearValidate()
 })
相关推荐
夏殇之殁8 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
新中地GIS开发老师9 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
丙氨酸長鏈9 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen10 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
林焱_RPAAI11 小时前
影刀RPA技术深度:CSS选择器高级实战指南——伪类属性选择器与性能对比完全解析
vue.js·react.js
许彰午13 小时前
政务督办的分合模式:主办协办的并发审批
前端·javascript·政务
陳陈陳13 小时前
🚀 前端流式输出革命:SSE + BFF 架构从零到一实战指南
vue.js·架构·node.js
易筋紫容13 小时前
创建型模式:对象的诞生艺术
开发语言·前端·javascript
0_Error_14 小时前
猫国建设者 修改资源 自动采集
javascript
贩卖黄昏的熊15 小时前
NestJS简明教程——安全
开发语言·javascript·安全·typescript·nest.js