VeeValidate 注册实例
2024-10-21 18:54:32
注册
1 安装:
npm install vee-validate --save
2.mian.js 填写
import Vue from 'vue'
import VeeValidate, {Validator} from 'vee-validate';
import zh from 'vee-validate/dist/locale/zh_CN'; Validator.addLocale(zh); const config = {
locale: 'zh_CN'
}; Vue.use(VeeValidate,config);
1 <form @submit.prevent="validateBeforeSubmit">
2 <div class="column is-12">
3 <label class="label">手机:</label>
4 <p class="control has-icon has-icon-right">
5 <input name="phone" v-model="phone" v-validate="'required|phone'" data-first-as="Firsts Name" :class="{'input': true, 'is-danger': errors.has('phone') }" type="text" placeholder="手机">
6 <i v-show="errors.has('phone')" class="fa fa-warning"></i>
7 <span v-show="errors.has('phone')" class="help is-danger">{{ errors.first('phone') }}</span>
8 </p>
9 </div>
10 <div class="column is-12">
11 <label class="label">邮箱:</label>
12 <p class="control has-icon has-icon-right">
13 <input name="email" v-model="email" v-validate="'required|email'" data-first-as="Firsts Name" :class="{'input': true, 'is-danger': errors.has('email') }" type="text" placeholder="邮箱">
14 <i v-show="errors.has('email')" class="fa fa-warning"></i>
15 <span v-show="errors.has('email')" class="help is-danger">{{ errors.first('email') }}</span>
16 </p>
17 </div>
18 <div class="column is-12">
19 <label class="label">密码:</label>
20 <p class="control has-icon has-icon-right">
21 <input name="pwd" v-model="pwd" v-validate="'required|pwd|min:10'" data-first-as="Firsts Name" :class="{'input': true, 'is-danger': errors.has('pwd') }" type="password" placeholder="密码">
22 <i v-show="errors.has('pwd')" class="fa fa-warning"></i>
23 <span v-show="errors.has('pwd')" class="help is-danger">{{ errors.first('pwd') }}</span>
24 </p>
25 </div>
26 <div class="column is-12">
27 <label class="label">确认密码:</label>
28 <p class="control has-icon has-icon-right">
29 <input name="chepwd" v-model="chepwd" v-validate="'required|chepwd|min:10'" data-first-as="Firsts Name" :class="{'input': true, 'is-danger': errors.has('chepwd') }" type="password" placeholder="密码">
30 <i v-show="errors.has('chepwd')" class="fa fa-warning"></i>
31 <span v-show="errors.has('chepwd')" class="help is-danger">{{ errors.first('chepwd') }}</span>
32 </p>
33 </div>
34 <div class="column is-12">
35 <p class="control">
36 <button class="button is-primary" type="submit">Submit</button>
37 </p>
38 </div>
39 </form>
<script>
import { Validator } from 'vee-validate';
export default {
components: {},
name: 'form-example',
data: () => ({
phone: '',
email: '',
pwd: '',
chepwd: ''
}),
created() {
const dictionary = {
zh_CN: {
messages: {
email: () => '邮箱格式错误。',
required: (field) => "不能为空" + field, //替换 “ 必须 ” 关键字
},
attributes: {
//email: '不能为空'
}
}
};
this.$validator.updateDictionary(dictionary);
Validator.extend('phone', {
messages: {
zh_CN: field => field + '必须是11位手机号码',
},
validate: value => {
return value.length == 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/.test(value)
}
});
Validator.extend('pwd', {
messages: {
zh_CN: field => field + '密码不能少于十位数',
},
validate: value => {
return value;
}
});
Validator.extend('chepwd', {
messages: {
zh_CN: field => field + '两次密码不一致',
},
validate: value => {
if(this.chepwd == this.pwd){
return value
}else{
return false;
}
}
});
},
methods: {
validateBeforeSubmit() {
this.$validator.validateAll().then((result) => {
if(result) { // eslint-disable-next-line
alert('From Submitted!');
return;
}
alert('Correct them errors!');
});
}
}
};
</script>
推荐阅读:
文档:http://vee-validate.logaretm.com/localization.html
官方例子:http://vee-validate.logaretm.com/examples.html
参考出处:http://www.jianshu.com/p/2a456e31c581
最新文章
- Android在代码中使用布局文件中的一个组件
- Sql中时间只取年或者年月
- b/s结构的物业管理系统(一)-------登录篇
- 代C语言上机实践
- 修改tomcat的部署名称
- asp.net将本地Excel上传到服务器并把数据导入到数据库
- 配置managed server
- Use Excel to write insert SqlScript
- 最大似然预计(Maximum likelihood estimation)
- YARN 命令总结
- redis 安装及启动关闭
- openstack pike 使用 linuxbridge + vxlan
- SpringBoot是什么,可以做什么?
- 2018.12.29 codeforces 940E. Cashback(线性dp)
- Eat Style --proposed by Chongyang Bai
- 【转】【WPF】WPF - MVVM - 如何将ComboBox的Selectchange事件binding到ViewModel
- 用AT命令调试调制解调器
- 1、算法介绍,lowB三人组,快速排序
- 【转】UBUNTU 下GIT的安装
- django配置Ueditor