参考地址:https://segmentfault.com/q/1010000003988864

github地址:https://github.com/fergaldoyle/vue-form

安装插件

cnpm install vue-form --save

使用,在main.js里加入

import VueForm from 'vue-form'

Vue.use(VueForm)

代码实战

 <template>
<div class="login__content">
<vue-form :state="formstate" v-model="formstate">
<div class="login__title">SIGN IN</div>
<div class="login__content_input username__margin_bottom">
<validate auto-label class="form-group required-field" :class="fieldClassName(formstate.name)">
<input type="text" name='name' placeholder="Username" required v-model="model.name"/>
</validate>
<field-messages name="name" v-show="isSubmit">
<!--<div class="success__msg"></div>-->
<div class="error__msg" slot="required">Username is a required field</div>
</field-messages>
</div>
<div class="login__content_input">
<validate auto-label class="required-field" :class="fieldClassName(formstate.password)">
<input type="password" name="password" placeholder="Password" required v-model="model.password" />
</validate>
<field-messages name="password" v-show="isSubmit" >
<!--<div class="success__msg"></div>-->
<div class="error__msg" slot="required">Password is a required field</div>
</field-messages> </div>
<div class="error__msg" v-if='errorMsg["fail"]'>{{errorMsg["fail"]}}</div>
<div class="login__in_part">
<div class="forgot__password">
<a >Forgot Password</a>
</div>
<div class="login__remember">
<label><input type="checkbox" v-model="isRemember" /> Remember me</label>
</div>
<div class="login__in">
<button class="signin" @click.prevent="login" >SIGN IN</button>
</div>
</div>
<div class="sign__register">Don't have an account? <a href="#" >Sign Up</a> </div>
</vue-form>
</div>
</template>
<script>
import config from '../../utils/config.js'
export default{
data(){
return{
formstate: {},
errorMsg:{},
isSubmit:false,
isRemember:true,
model:{
name:'',
password:''
}
}
},
methods:{
fieldClassName: function (field) {
if(!field) {
return '';
}
if((field.$touched || field.$submitted) && field.$valid && !this.errorMsg["fail"]) {
return 'has-success';
}
if((field.$touched || field.$submitted) && field.$invalid && this.errorMsg["fail"]) {
return 'has-danger';
}
},
login(){
this.isSubmit=true;
if(this.formstate.$valid===false){
return
}
let o={
email:this.model.name,
password:this.model.password
}
this.$axios.post(`${config.apiPreUrl}/login/getToken`, o).then((res)=>{
console.log(res.data);
})
}
}
}
</script>
<style lang="scss" >
.login__content{
width: 452px;
height: 495px;
background: white;
position: relative;
box-shadow: 0px 0px 14px #423D40;
padding: 0 44px 0 43px;
}
.login__title{
padding: 56px 0 27px 0px;
font-size: 18px;
color: #3A3A3A;
font-weight: bolder;
}
.login__content_input{
width: 365px;
position: relative;
input{
height: 48px;
padding: 0 8px;
background-color: #ffffff;
padding-left: 15px;
width: 100%;
outline: none;
font-size: 15px;
border: solid 1px #C4C4C4;
&:hover{
border: solid #C4C4C4 1px;
box-shadow:0 0 3px rgba(136,136,136,0.7);
}
}
}
.username__margin_bottom{
margin-bottom: 25px;
}
.forgot__password{
font-size: 11px;
padding: 9px 0 0 4px ;
a{
color:#E25043;
cursor: pointer;
}
}
.login__remember{
padding: 29px 0;
font-size: 11px;
color: #707D95;
font-weight: lighter;
input{
margin-top:0px !important;
margin-right: 5px;
vertical-align: middle;
}
}
.login__in_part{
padding-left: 4px;
}
.login__in{
height: 44px;
button{
width: 50%;
height: 44px;
color: #000;
border: 0;
background: #E25043;
color: #ffffff;
font-size: 12px;
}
}
.sign__register{
padding: 29px 0 0 6px;
color: #4A4A4A;
font-size: 12px;
a{
color: #E25043;
text-decoration: none;
}
}
.error__msg{
color: #E25043;
font-size: 13px;
padding: 7px 0 0 0 ;
}
.has-danger{
border: solid 1px #EB7057!important;
}
.has-success{
border: solid 1px #43C7A9 !important;
}
.has-normal{
border:solid #C4C4C4 1px!important;
}
</style>

vue-form表单验证插件的更多相关文章

  1. jquery plugin 之 form表单验证插件

    基于h5表单验证系统.扩展了对easyui组件的支持 先上图: 提示样式用到了伪对象的 {content: attr(xxx)}函数方法,实现提示信息能动态切换. 1.关键属性说明: type: 表单 ...

  2. vue form表单验证

    <el-select v-model="ruleForm.region" placeholder="请选择活动区域"> <el-option ...

  3. [php基础]PHP Form表单验证:PHP form validator使用说明

    在PHP网站开发建设中,用户注册.留言是必不可少的功能,用户提交的信息数据都是通过Form表单提交,为了保证数据的完整性.安全性,PHP Form表单验证是过滤数据的首要环节,PHP对表单提交数据的验 ...

  4. 写一个简单易用可扩展vue表单验证插件(vue-validate-easy)

    写一个vue表单验证插件(vue-validate-easy) 需求 目标:简单易用可扩展 如何简单 开发者要做的 写了一个表单,指定一个name,指定其验证规则. 调用提交表单方法,可以获取验证成功 ...

  5. vue elementui form表单验证

    最近我们公司将前端框架由easyui 改为 vue+elementui .自学vue两周 就开始了爬坑之路.业余时间给大家分享一下心得,技术新手加上第一次分享(小激动),有什么不足的地方欢迎大家指正, ...

  6. jquery validate表单验证插件-推荐

    1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...

  7. 表单验证插件之jquery.validate.js

    提到表单验证的插件,第一个想到的就是jquery.validate.js,所以小生想在这里稍微详细地说一下这款插件的具体使用方法,便于理解,我直接附上整段demo的代码(没怎么调样式,主要是看js): ...

  8. jQuery学习之:Validation表单验证插件

    http://polaris.blog.51cto.com/1146394/258781/ 最近由于公司决定使用AJAX + Struts2来重构项目,让我仔细研究一下这两个,然后集中给同事讲讲,让每 ...

  9. jquery validate表单验证插件

    1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...

  10. JS表单验证插件(支持Ajax验证)

    自己编写了一个表单验证插件,支持ajax验证,使用起来很简单. 每个需要验证的表单元素下面有一个span标签,这个标签的class有一个valid表示需要验证,如果有nullable则表示可为空:ru ...

随机推荐

  1. 两台计算机有相同的IP地址会发生什么情况?两台计算机有相同的MAC地址会发生什么情况?

    1 相同IP   a) 同一网段内   会发生IP地址冲突.两台主机在特定情况下是可以同时使用同一个IP地址的.但是如果这两台主机在同一个网络内,大多数情况下,二者或者其中之一的连通性将会被破坏.比方 ...

  2. Excel导入

    public static Collection importExcelByIs(InputStream inputstream, List<CgFormFieldEntity> list ...

  3. Java学习06 (第一遍) - JSP与Servlet

    EL(Expression Language) <% User user=(User)session.getAttribute("user"); Dept dept=user ...

  4. NYOJ44-子串和-(dp||思维)

    题目描述: 给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1<=x<=y<=n. 输入描述: 第一行是一个整 ...

  5. java-学习6

    public class arryTest4 { //对整型数组按照由小到大的顺序进行排序 public static void main(String[] args) { int score[]= ...

  6. 运用active和hover实现导航栏的页面切换

    .nav ul li a:hover{ background: #3E6EDD;}.nav ul li a:hover img{ display: block;}.nav ul li a.active ...

  7. CSS 点击图片替换样式

    1 <ul id="u1"> <li class="sea one show1">海运</li> <li class= ...

  8. Spring Cloud Ribbon Client

    首先,我们还是先从springcloud官方文档中找下相关说明,如下图所示,可以看到从1.2.0版本(也就是从Spriing Cloud Camden)之后,新增了这个通过配置文件来配置负载均衡的功能 ...

  9. 无线渗透wep加密路由器

    停掉网络服务 service network-manager stop 检查现在的环境适不适合使用airmon-ng airmon-ng check 杀死可能冲突的进程 开启网卡monitor模式 a ...

  10. Java获得数据库查询结果的列数和行数,打印查询结果

    Java连接数据库及简单操作见我以前的一篇随笔:http://www.cnblogs.com/meitian/p/5036332.html   一.获取查询结果的行数和列数 查询结果为ResultSe ...