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()
 })
相关推荐
像我这样帅的人丶你还13 分钟前
JavaScript 迭代器详解
前端·javascript
timi先生18 分钟前
语料库全栈项目部署 (Vue + Java + CQPweb)
java·前端·vue.js
Lazy_zheng18 分钟前
Map / Set / WeakMap / WeakSet,一次给你讲透
前端·javascript·面试
意法半导体STM321 小时前
【官方原创】STM32H7双核芯片通过 STlink连接失败问题分析 LAT1654
开发语言·前端·javascript·stm32·单片机·嵌入式硬件
雨雨雨雨雨别下啦1 小时前
Vue3——RabbitShopping
前端·javascript·vue.js
学习指针路上的小学渣2 小时前
JavaScript笔记
前端·javascript
coder_Eight2 小时前
彻底吃透 Promise:从状态、链式到手写实现,再到 async/await 底层原理
javascript·面试
@大迁世界2 小时前
13.在 React 中应怎样正确更新 state?
前端·javascript·react.js·前端框架·ecmascript
苏琢玉3 小时前
Go + Vue 打包成一个单二进制的后台系统,我做了个后台脚手架
vue.js·golang
终端鹿3 小时前
Suspense 异步组件与懒加载实战
前端·vue.js