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()
 })
相关推荐
李少兄6 小时前
JavaScript 数据类型完全指南
开发语言·javascript·ecmascript
徐小夕8 小时前
JitWord 4.0 万字分享:从协同工具到AI Word操作系统,聊聊3年产品创业史
前端·vue.js·后端
shmily麻瓜小菜鸡9 小时前
JS/TS 易踩坑知识点 — 模块化与工程化类
开发语言·javascript·ecmascript
两只羊ovo10 小时前
Vue 3 + DeepSeek 流式输出实战:从“干等”到“打字机”体验
前端·vue.js
尤小小11 小时前
Vite-SSG 实践:Vue项目预渲染落地完整方案
前端·vue.js
默_笙11 小时前
🍕 AI 的嘴巴装了水管(上):从"等它说完"到"边说边听"的流式输出指南
前端·javascript
万敏11 小时前
Vue3 全栈实战:第一阶段复盘(第1-8周)
vue.js·node.js·全栈
梨想橙汁11 小时前
Vue3 组合式 API 深度解析:ref/reactive 响应式,计算属性与侦听器
前端·vue.js
暖焰核心11 小时前
继承全解——继承、默认成员函数、切片、隐藏与虚继承
java·前端·javascript