
首页介绍一下element,这个是饿了吗团队推出的一个基于vue的前端框架,其他的请自行百度
以前吃过表单验证的亏,在刚学习jQuery的时候是第一次碰到表单验证,然而当初觉得太复杂,各种参数烦的一比,就没有用心去听,也没有仔细研究过,这算是一个坎,后来接触element又碰到表单验证。。。这比当初要清晰多了(假装没碰到坑)。
上代码:
- <div id="app">
- <el-form :model="ruleForm" status-icon label-width="100px" class="demo-ruleForm">
- <el-form-item label="普通文本框">
- <el-input v-model="ruleForm.text"></el-input>
- </el-form-item>
- <el-form-item label="密码类">
- <el-input type="password" v-model="ruleForm.pass" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="数字类">
- <el-input v-model="ruleForm.number"></el-input>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="submitForm()">提交</el-button>
- <el-button>重置</el-button>
- </el-form-item>
- </el-form>
- </div>
-
- <script>
- var vm=new Vue({
- el:"#app",
- data:function(){
- return{
- ruleForm:[]
- }
- },
- methods:{
- //提交
- submitForm(){
-
- }
- }
-
- })
- </script>
好了,基本样子我们暂时就写好了,先把需求说一下,所有都不能为空,密码长度6到10位且不能含有中文,数字类只能输入数字,需求明确才好做啊
分析一下上面的代码,ruleForm是表单model,下面那个方法我不说都能看懂,验证的时候是在我们鼠标离开该文本区域的时候发生,当有一条不符合规则
的时候就点击就不能提交。model有了,我们还需要什么,当然是验证规则了,这也是我喜欢用element的一点,非常清晰
- <div id="app">
- <!--这里多了:rules="rules" ref="ruleForm"-->
- <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
- <!--prop:验证规则-->
- <el-form-item label="普通文本框" prop="text">
- <el-input v-model="ruleForm.text"></el-input>
- </el-form-item>
- <el-form-item label="密码类" prop="password">
- <el-input type="password" v-model="ruleForm.pass" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="数字类" prop="number">
- <el-input v-model.number="ruleForm.number"></el-input>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
- <el-button>重置</el-button>
- </el-form-item>
- </el-form>
- </div>
-
- <script>
- var vm=new Vue({
- el:"#app",
- data:function(){
- return{
- ruleForm:[],
- //验证规则
- rules:[
- //注意text,在上面会有用
- //required=>代表必填
- //message=>验证不通过时显示的消息
- text: [{ required: true, message: '***不能为空', trigger: 'blur' }],
- number:[{ required: true, message: '***不能为空', trigger: 'blur' },
- { type: 'number', message: '***必须为数字值'} ],
- password:[ { required: true, message: '请输入活动名称', trigger: 'blur' },
- { min: 6, max: 10, message: '长度在 6 到 10 个字符', trigger: 'blur' }]
- ]
- }
- },
- methods:{
- //提交
- submitForm(ruleForm){
- this.$refs[formName].validate((valid) => {
- if (valid) {
- alert('验证通过!');
- } else {
- console.log('验证失败!!');
- return false;
- }
- });
- }
- }
-
- })
- </script>
ref/rules自行百度,要善用百度
这样应该就可以了,当然有些时候需要更多的验证规则,我们可以使用自定义规则,文档里面写的有,我说过,文档是个好东西,对了如果使用VS开发的话,好像VS2015及以下是不支持vue的一些写法的,当你Ctrl+K+D的时候你会发现你写的有些的东西没了,编译器会认为那是错误的写法,自动给你的一写东西删掉,没错,这里说的就是它“:”,这个vue绑定的简写,每次都给我干掉了,然后找半天的错。。。。真的是脑壳疼
最后提醒一下,复制代码有风险,需谨慎(因为我并没有在编译器中写,我是直接写的,所以,你懂的)
评价
排名
48
文章
6
粉丝
4
评论
5
vue脚手架搭建
庸人 :
eslint不建议我们这样的新手安装,会严格要求测试等等
vue脚手架搭建
剑轩 :
加油加油,前后端通吃的全才
vue+element之表单验证
剑轩 : 这个还是比较方便,最近也有遇到这类问题
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术
剑轩
这个还是比较方便,最近也有遇到这类问题