tnblog
首页
视频
资源
登录

vue+element之表单验证

7127人阅读 2019/10/4 18:27 总访问:47190 评论:3 收藏:1 手机
分类: Vue

        首页介绍一下element,这个是饿了吗团队推出的一个基于vue的前端框架,其他的请自行百度

以前吃过表单验证的亏,在刚学习jQuery的时候是第一次碰到表单验证,然而当初觉得太复杂,各种参数烦的一比,就没有用心去听,也没有仔细研究过,这算是一个坎,后来接触element又碰到表单验证。。。这比当初要清晰多了(假装没碰到坑)。

        上代码:

  1. <div id="app">
  2.   <el-form :model="ruleForm" status-icon label-width="100px" class="demo-ruleForm">
  3.       <el-form-item label="普通文本框">
  4.         <el-input v-model="ruleForm.text"></el-input>
  5.       </el-form-item>
  6.       <el-form-item label="密码类">
  7.         <el-input type="password" v-model="ruleForm.pass" autocomplete="off"></el-input>
  8.       </el-form-item>
  9.       <el-form-item label="数字类">
  10.         <el-input v-model="ruleForm.number"></el-input>
  11.       </el-form-item>
  12.       <el-form-item>
  13.         <el-button type="primary" @click="submitForm()">提交</el-button>
  14.         <el-button>重置</el-button>
  15.       </el-form-item>
  16.   </el-form>
  17. </div>
  18. <script>
  19.     var vm=new Vue({
  20.         el:"#app",
  21.         data:function(){
  22.             return{
  23.                 ruleForm:[]
  24.             }
  25.         },
  26.         methods:{
  27.               //提交
  28.            submitForm(){
  29.             
  30.             }
  31.         }
  32.         
  33.     })
  34. </script>

        好了,基本样子我们暂时就写好了,先把需求说一下,所有都不能为空,密码长度6到10位且不能含有中文,数字类只能输入数字,需求明确才好做啊

分析一下上面的代码,ruleForm是表单model,下面那个方法我不说都能看懂,验证的时候是在我们鼠标离开该文本区域的时候发生,当有一条不符合规则

的时候就点击就不能提交。model有了,我们还需要什么,当然是验证规则了,这也是我喜欢用element的一点,非常清晰

  1. <div id="app">
  2.     <!--这里多了:rules="rules" ref="ruleForm"-->
  3.   <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
  4.       <!--prop:验证规则-->
  5.       <el-form-item label="普通文本框" prop="text">
  6.         <el-input v-model="ruleForm.text"></el-input>
  7.       </el-form-item>
  8.       <el-form-item label="密码类" prop="password">
  9.         <el-input type="password" v-model="ruleForm.pass" autocomplete="off"></el-input>
  10.       </el-form-item>
  11.       <el-form-item label="数字类" prop="number">
  12.         <el-input v-model.number="ruleForm.number"></el-input>
  13.       </el-form-item>
  14.       <el-form-item>
  15.         <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
  16.         <el-button>重置</el-button>
  17.       </el-form-item>
  18.   </el-form>
  19. </div>
  20. <script>
  21.     var vm=new Vue({
  22.         el:"#app",
  23.         data:function(){
  24.             return{
  25.                 ruleForm:[],
  26.                 //验证规则
  27.                 rules:[
  28.                         //注意text,在上面会有用
  29.                         //required=>代表必填
  30.                         //message=>验证不通过时显示的消息
  31.                         text: [{ requiredtruemessage'***不能为空'trigger'blur' }],
  32.                         number:[{ requiredtruemessage'***不能为空'trigger'blur' },
  33.                                 { type'number'message'***必须为数字值'} ],
  34.                         password:[ { requiredtruemessage'请输入活动名称'trigger'blur' },
  35.                                    { min6max10message'长度在 6 到 10 个字符'trigger'blur' }]        
  36.                         ]
  37.             }
  38.         },
  39.         methods:{
  40.               //提交
  41.            submitForm(ruleForm){
  42.                 this.$refs[formName].validate((valid) => {          
  43.                     if (valid) {
  44.                          alert('验证通过!');
  45.                      } else {            
  46.                          console.log('验证失败!!'); 
  47.                          return false;
  48.                      }
  49.                 });
  50.             }
  51.         }
  52.         
  53.     })
  54. </script>

        ref/rules自行百度,要善用百度

        这样应该就可以了,当然有些时候需要更多的验证规则,我们可以使用自定义规则,文档里面写的有,我说过,文档是个好东西,对了如果使用VS开发的话,好像VS2015及以下是不支持vue的一些写法的,当你Ctrl+K+D的时候你会发现你写的有些的东西没了,编译器会认为那是错误的写法,自动给你的一写东西删掉,没错,这里说的就是它“:”,这个vue绑定的简写,每次都给我干掉了,然后找半天的错。。。。真的是脑壳疼

最后提醒一下,复制代码有风险,需谨慎(因为我并没有在编译器中写,我是直接写的,所以,你懂的)








评价

剑轩

2019/10/6 19:35:54

这个还是比较方便,最近也有遇到这类问题

Murphy:@剑轩用起来确实比以前用的那种方便多了,而且自定义验证规则也比较清晰,就是用的vs2015,冒号坑的要死要死的

2019/10/7 11:03:29 回复

剑轩:@Murphy现在这种验证相关的很多还是做得很不错,后台的model验证也是

2019/10/7 13:26:24 回复

世上本无事,庸人自扰之
排名
48
文章
6
粉丝
4
评论
5
vue脚手架搭建
庸人 : eslint不建议我们这样的新手安装,会严&#26684;要求测试等等
vue脚手架搭建
剑轩 : 加油加油,前后端通吃的全才
vue+element之表单验证
剑轩 : 这个还是比较方便,最近也有遇到这类问题
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
寒夜客来茶当酒,竹炉汤沸火初红。