vue表单验证自定义验证规则详解

 更新时间:2022年03月21日 08:32:23   作者:骑喵的汪星人  
这篇文章主要为大家详细介绍了vue表单验证自定义验证规则,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了vue表单验证自定义验证规则,供大家参考,具体内容如下

这是公司里Vue+Element UI的项目。写的验证规则放图:

样式代码:

<div class="info" v-if="openslist">
  <h2 class="info-h">情况反馈表</h2>
  <el-form ref="stateForm" :model="stateForm"  class="stateforms" :rules="rules">
     <el-row type="flex" class="row-bg">
         <el-col :span="12">
           <el-form-item label="听取意见方式" class="stateform" prop="way">
           <el-select v-model="stateForm.way"  placeholder="请选择" @change="getReturn()">
             <el-option label="面复" value="1"></el-option>
             <el-option label="电话" value="2"></el-option>
             <el-option label="座谈" value="3"></el-option>
             <el-option label="未联系" value="4"></el-option>
              </el-select>
              </el-form-item>
                </el-col>
          <el-col :span="12">
         <el-select v-model="stateForm.attitude"  placeholder="请选择" @change="getReturn()">
           <el-option label="好" value="1"></el-option>
           <el-option label="较好" value="2"></el-option>
           <el-option label="一般" value="3"></el-option>
           <el-option label="较差" value="4"></el-option>
            </el-select>
          </el-form-item>
            </el-col>
          </el-row>
          <el-form-item>
          <el-button type="primary" @click="onSubmit('stateForm')" style="margin: 20px 0 0 80px;position: initial;">提交</el-button>
            </el-form-item>
     </el-form>
</div>

js代码:

data(){
  return{
     rules:{
        way:[
         { required: true, message: '请输入听取意见方式', trigger: 'change' }
         ],
        attitude:[
           { required: true, message: '请输入人员态度', trigger: 'change' }
         ]
         }
    }
}

记住form表单一定要“:rules=“rules(自己定义)””,下面是自定义规则,放图:

样式代码:

<el-form  label-width="100px" class="passstyle" :model="Formname"  :rules="editFormPwd"  ref="Formname">
            <el-form-item label="用户名:">
                <!--<el-input  style="width:50%" clearable></el-input>-->
                <span style="width:50%" class="passSpan" >{{username}}</span>
            </el-form-item>
            <el-form-item label="原密码:"   prop="oldpwd" >
                <el-input  style="width:50%" clearable v-model="Formname.oldpwd" type="password">
                </el-input>
            </el-form-item>
            <el-form-item label="新密码:" prop="newpwd">
                <el-input  style="width:50%" clearable v-model="Formname.newpwd" type="password"></el-input>
            </el-form-item>
            <el-form-item label="确认密码:" prop="newpwds">
                <el-input  style="width:50%" clearable v-model="Formname.newpwds" type="password"></el-input>
            </el-form-item>
            <el-form-item>
                <el-button type="primary"  @click="subpass('Formname')">提交</el-button>
            </el-form-item>
</el-form>

js代码:

data(){
      //这里是自定义的规则
        var newpwdmin=(rule, value, callback)=>{
            if(!value){
               return callback(new Error('请输入密码'));
              }else if(value !==this.Formname.newpwd){
                return callback(new Error('两次输入密码不一致!'));
              }else {
                 callback()
             }
        }
      return{
      editFormPwd:{
           oldpwd:[{    required: true, message: '请输入原密码', trigger: 'blur'}],
           newpwd:[{ required: true, message: '请输入密码', trigger: 'blur' },],
           newpwds:[{ required: true,validator: newpwdmin, trigger: 'blur'}],
               }
     }
}

提交返回什么就不写了;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Vue中Class和Style实现v-bind绑定的几种用法

    Vue中Class和Style实现v-bind绑定的几种用法

    项目开发中给元素添加/删除 class 是非常常见的行为之一, 例如网站导航都会给选中项添加一个 active 类用来区别选与未选中的样式,那么在 vue 中 我们如何处理这类的效果呢?下面我们就一起来了解一下
    2021-05-05
  • 关于Element-ui中Table表格无法显示的问题及解决

    关于Element-ui中Table表格无法显示的问题及解决

    这篇文章主要介绍了关于Element-ui中Table表格无法显示的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue项目登录模块滑块拼图验证功能实现代码(纯前端)

    vue项目登录模块滑块拼图验证功能实现代码(纯前端)

    滑块验证作为一种反机器人的工具,也会不断发展和演进,以适应不断变化的威胁,这篇文章主要给大家介绍了vue项目登录模块滑块拼图验证功能实现的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • webpack+vue.js快速入门教程

    webpack+vue.js快速入门教程

    随着前端的快速发展,非常多的js框架被应用到项目中。Vue.js本身支持对组件的异步加载,配合Webpack的分块打包功能,可以极其轻松地实现组件的异步按需加载。 这篇文章是webpack+vue.j的入门教程,有需要的可以参考借鉴。
    2016-10-10
  • vue触发真实的点击事件跟用户行为一致问题

    vue触发真实的点击事件跟用户行为一致问题

    这篇文章主要介绍了vue触发真实的点击事件跟用户行为一致问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue引入css文件导致全局污染的问题

    vue引入css文件导致全局污染的问题

    这篇文章主要介绍了vue引入css文件导致全局污染的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Vue中前端与后端如何实现交互

    Vue中前端与后端如何实现交互

    这篇文章主要介绍了Vue中前端与后端如何实现交互,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vite3迁移Webpack5的实现

    Vite3迁移Webpack5的实现

    本文主要介绍了Vite3迁移Webpack5的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Vue中从template到jsx语法教程示例

    Vue中从template到jsx语法教程示例

    这篇文章主要为大家介绍了Vue中从template到jsx语法教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Vue DPlayer详细使用教程含遇到坑

    Vue DPlayer详细使用教程含遇到坑

    Vue-DPlayer是一个易于使用、高性能的基于Vue.js的视频播放器组件,本文给大家介绍Vue DPlayer详细使用,本文将从四个方面对Vue-DPlayer进行详细的阐述,感兴趣的朋友一起看看吧
    2023-10-10

最新评论