Vue2.0+ElementUI简单form表单验证
2017-11-06 16:11
651 查看
首先:template
先创建一个form表单,:model绑定表单索要提交的对象,:rules2是此表单绑定的校验规则,ref用来绑定这个dom元素,之后在$refs调用。<el-form :model="ruleForm2" :rules="rules2" ref="ruleForm2" label-position="left" label-width="0px" > <h3 class="title">后台管理登录</h3> <el-form-item prop="account"> <el-input type="text" v-model="ruleForm2.account" :maxlength='20' auto-complete="off" placeholder="请输入用户名" @keyup.enter.native='handleSubmit2'></el-input> </el-form-item> <el-form-item prop="checkPass"> <el-input type="password" v-model="ruleForm2.checkPass" :maxlength='16' auto-complete="off" placeholder="请输入密码" @keyup.enter.native='handleSubmit2'></el-input> </el-form-item> <el-form-item style="width:100%;"> <el-button type="primary" style="width:100%;" @click.native.prevent="handleSubmit2" :loading="logining">登录</el-button> </el-form-item> <p class="forgetP" @click="goToforget">忘记密码?</p> </el-form>
在 Form 组件中,每一个表单域由一个 Form-Item 组件构成,表单域中可以放置各种类型的表单控件,包括
Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker等。
通过设置 label-position 属性可以改变表单域标签的位置,可选值为 top、left,当设为 top
时标签会置于表单域的顶部。
Form 组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并 Form-Item 的 prop
属性设置为需校验的字段名即可。
然后是:data
data() { //用户名自定义校验规则 var validateAccount = (rule, value, callback) => { if (!value) { callback(new Error('请输入用户名')); } else { var targ = /^[A-Za-z0-9]+$/; if( !targ.test(value)){ callback(new Error('用户名只支持英文、数字')); } callback(); } }; return { logining: false,//加载动画 ruleForm2: { account: '',//用户名 checkPass: ''//密码 }, rules2: { account: [ { validator: validateAccount, trigger: 'blur' } ], checkPass: [ { required: true, message: '请输入密码', trigger: 'blur' }, { min: 8, max: 16, required: 4000 true, message: '密码至少为8位', trigger: 'blur' }, ] }, }; },
rules2是我们表单校验的规则,是一个对象,因为有用户名和密码,所有我们要设置两个校验规则,分别为两个数组。
先看用户名的校验规则:
{ validator: validateAccount, trigger: ‘blur’ }
async-validator 是一个异步验证的库,需要传入要验证的数据和验证规则
官方链接 https://github.com/yiminghe/async-validator
最后:methods
methods: { //点击登录 handleSubmit2(ev) { var _this = this; this.$refs.ruleForm2.validate((valid) => { if (valid) { this.logining = true; //用户信息 var loginParams = { userName: this.ruleForm2.account, userPassword: this.ruleForm2.checkPass, loginInfo:"" }; requestLogin(loginParams).then(data => { console.log(data) }); } else { console.log('error submit!!'); return false; } }); }, }
相关文章推荐
- vue elementUI之Form表单 验证
- vue + ElementUI 关闭对话框清空验证,清除form表单
- Vue Element Form表单时间验证控件使用
- vee-validate vue 2.0自定义表单验证
- vee-validate vue 2.0自定义表单验证的实例
- 基于vue2.0前端组件库element中 el-form表单 自定义验证填坑
- 简单的form表单验证
- vue + ElementUI 关闭对话框清空验证,清除form表单
- Jq form表单提交验证与响应简单示例
- SpringMVC4+thymeleaf3的一个简单实例(篇四:form表单数据验证)
- JavaScript form对象,表单简单验证
- SpringMVC4+thymeleaf3的一个简单实例(form表单数据验证)
- SpringMVC4+thymeleaf3的一个简单实例(篇四:form表单数据验证)
- vue + ElementUI 关闭对话框清空验证,清除form表单
- Vue ElementUI之Form表单验证遇到的问题
- SpringMVC4+thymeleaf3的一个简单实例(篇四:form表单数据验证)
- 四【用django2.0来开发】后台会员管理(二) ModelForm表单的使用方法以及数据验证
- Vue Elementui Form表单验证
- jQuery form插件的使用--用 formData 参数校验表单,验证后提交(简单验证).
- vue+element-ui集成随机验证码+用户名+密码的form表单验证功能