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()
 })
相关推荐
天宇&嘘月2 小时前
web第三次作业
前端·javascript·css
小王不会写code3 小时前
axios
前端·javascript·axios
发呆的薇薇°4 小时前
vue3 配置@根路径
前端·vue.js
luoluoal4 小时前
基于Spring Boot+Vue的宠物服务管理系统(源码+文档)
vue.js·spring boot·宠物
luckyext4 小时前
HBuilderX中,VUE生成随机数字,vue调用随机数函数
前端·javascript·vue.js·微信小程序·小程序
小小码农(找工作版)4 小时前
JavaScript 前端面试 4(作用域链、this)
前端·javascript·面试
鱼樱前端5 小时前
深入JavaScript引擎与模块加载机制:从V8原理到模块化实战
前端·javascript
yangjiajia1234566 小时前
vue3 ref和reactive的区别
前端·javascript·vue.js
诚信爱国敬业友善6 小时前
Vue 基础二(进阶使用)
前端·javascript·vue.js