在vue中使用rules对表单字段进行验证

在vue中使用rules对表单字段进行验证vue 中表单字段验证的写法和方式有多种 本博客介绍三种较为常用的验证方式 1 写在 data 中验证表单内容 表单 el formref rulesForm rules formRules model rulesForm label width 200px el formref rulesForm rules formRules model rulesForm label width 200px

vue 中表单字段验证的写法和方式有多种,本博客介绍三种较为常用的验证方式。

  1. 写在 data 中验证

表单内容

 
   
   
    
     
    
  

  • :代表这是一个表单

  • -> ref:表单被引用时的名称,标识

  • -> rules:表单验证规则

  • -> model:表单数据对象

  • -> label-width:表单域标签的宽度,作为 Form 直接子元素的 form-item 会继承该值

  • ->

    :表单中的每一项子元素


  • -> label:标签文本

  • -> prop:表单域 model 字段,在使用 validate、resetFields 方法的情况下,该属性是必填的

  • :输入框

  • -> v-model:绑定的表单数据对象属性

  • -> style:行内样式

  • -> maxlength:最大字符长度限制

data 数据

data() { return { // 省略别的数据定义 ... // 表单验证 formRules: { userName: [ {required: true,message: "请输入用户名称",trigger: "blur"} ] } } }
  • formRules:与上文  ‘表单内容’ 中

    表单的 :rules 属性值相同
  • userName:与上文 ‘表单内容’ 中 

    表单子元素的 prop 属性值相同
  • 验证内容是:必填,失去焦点时验证,如果为空,提示信息为 ‘请输入用户名称’

  2. 写在行内

表单内容

 
    
    
     
      
     
   

  • -> rules:和第一种方式表现的效果一致,只是写法不一样,这里不再赘述

data 数据没有内容


  3. 引入外部定义的规则

表单内容

 
     
     
      
       
      
    
  • 表单内容与第一种方式写法一致,这里不再赘述

script 内容

  • import:先引入了外部的验证规则 
  • const:定义一个规则常量,常量名可变, ‘= (rule, value, callback) => {}’ 为固定格式,value 入参为验证的字段值
  • formRules -> accountNumber:表单验证中使用 validator 指定自定义校验规则常量名称

validate.js

/* 银行账户 */ export function validateAccountNumber(str) { const reg = /^([1-9]{1})(\d{14}|\d{18})$/ return reg.test(str) }
  • 验证规则

以上都是在失去焦点时的验证,下面来分析一下如何在表单提交时验证

  1. 表单的提交按钮

 
      
      
       
       
         保存 
        
       
         取消 
        
       
     

  • :按钮

  • -> type:按钮类型

  • -> @click:按钮点击时触发的事件,这里注意方法的入参为 ‘rulesForm’,这里要与

    表单的 rel 属性值                                        一致

  2. methods 方法

methods: { // 保存 onSubmit(formName) { this.$refs[formName].validate(valid => { if (valid) { console.log("success submit!!"); }else{ console.log("error submit!!"); } }); }, // 取消 cancel() { } }
  • this.$refs[formName].validate:formName 就是传入的 ‘rulesForm’,与 

    表单的 rel 属性值一致,这样就指定好需                                                      要验证的表单了

完整示例代码如下

  1. rules.vue

 
         

  2. validate.js

/* 银行账户 */ export function validateAccountNumber(str) { const reg = /^([1-9]{1})(\d{14}|\d{18})$/ return reg.test(str) }

效果图

rules

 

 

欢迎来访我的vue专栏总篇博客  

 

希望能够帮助到你

over

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204218.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午8:43
下一篇 2026年3月19日 下午8:44


相关推荐

  • eclipse如何使用svn_pr入门教程

    eclipse如何使用svn_pr入门教程一、Windows下安装SVN安装过程直接点击下一步即可,不想用默认位置的话,可以更改安装位置。二、检查安装是否成功1、检查环境变量中是否自动配置了系统变量。(默认是自动配置的)。2、安装根目录其中bin目录下是一些可执行文件(.exe)3、打开cmd窗口,输入命令svn–version检查版本号,查看安装是否成功。由于已经配置了环境变量,所以可以在任何位置使用svn…

    2026年4月14日
    5
  • ONVIF协议解读

    ONVIF协议解读一 什么是 ONVIF 1 1 形成 2008 年 5 月 由安讯士 AXIS 联合博世 BOSCH 及索尼 SONY 公司三方宣布携手共同成立一个国际开放型网络视频产品标准网络接口开发论坛 取名为 ONVIF OpenNetworkV 开放型网络视频接口论坛 并以公开 开放的原则共同制定开放性行业标准 ONVIF 标准将为网络视频设备之间的信息交

    2026年3月19日
    2
  • python字符串删除指定符号(不限位置)「建议收藏」

    python字符串删除指定符号(不限位置)「建议收藏」python中去掉字符串中某些不想要的字符:1、一般的可以用replace()这个函数不限定位置,是可以替换原来不想要的字符,替换成空字符就相当于删除了2、也可以用strip(),删除两边的字符(默认是删除左右空格)rstrip(),lstrip()这两个可以选择只删除左边或者右边3、re.sub这个可以根据正则删除,此处是删除串中的数字1-9,字符a-z,A-Z,还可以加其他的importrestr=”aksj2343ngr4545g黄金叶子fg”temp=re.sub(‘[a

    2022年6月4日
    76
  • 一位前辈工程师职业发展的忠告(转自51testing)

    一位前辈工程师职业发展的忠告(转自51testing)

    2021年7月31日
    63
  • 普通寻路算法

    普通寻路算法include 普通寻路算法 回溯法 近似穷举 找到的路径不一定是最短路径 defineMAX NUMBER LENGTH6voidp path 用矩阵表示地图 其中 1 表示路 0 表示没有路 2 表示终点 起始地点为 1 0 staticintgPa MAX NUMBER LENGTH MAX NUMBER LENGTH

    2026年2月14日
    2
  • 博客园自定义模板_锁屏样式怎么弄自定义

    博客园自定义模板_锁屏样式怎么弄自定义一直都用博客园写博客,后面自己曾经想自己写一个博客项目,但是因为各种各样的事情最后做了一半就没能继续做下去。但是中间定制markdawn样式的时候接触到的代码高亮插件highlight.js倒是给我留

    2022年8月16日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号