Vue项目之实现登录功能的表单验证!

步骤:

配置 Form表单验证;

1、必须给el-from组件绑定model 为表单数据对象

2 给需要验证的表单项 el-form-item 绑定 prop 属性需要指定表单对象中的数据名称

只需要写属性名就可以了! prop="mobile"

3 配置验证规则! 通过el-from 组件的 rules属性配置验证规则

这是我们要验证的之一的表单项

绑定 prop 属性需要指定表单对象中的数据名称

   <el-form-item prop="mobile">
<el-input
v-model="user.mobile"
placeholder="请输入你的手机号"
></el-input>
</el-form-item>

配置验证规则! 通过el-from 组件的 rules属性配置验证规则

  <el-form class="login-form" ref="form" :model="user" :rules="formRules">

 formRules: {
// 表单验证规则配置 required 代表是必填项!
// message 就是他的提示消息!
// trigger 代表触发验证的机制 blur 就是当鼠标失去焦点的时候触发校验!
// min max 也就是长度的限制不能少于和不能大于的字符!
mobile: [
{ required: true, message: '手机号不能为空!', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
}

效果展示:



手动触发表单验证

1、给el-form设置ref 起个名字(随便起名,不要重复即可)

 <el-form
class="login-form"
ref="manualVarifaction"
:model="user"
:rules="formRules"
>

2、通过 ref获 el-form 组件,调用组件的 validate 进行验证!

 onLogin() {
//获取表单数掘【根据接口要求绑定数据!】
const user = this.user;
//表单验证 this.$refs['']获取ref组件
// validate 是异步请求!
this.$refs["manualVarifaction"].validate((valid, err) => {
// 如果表单验证失败, 停止请求提交!
if (!valid) {
return;
}
console.log(valid);
console.log(err); // 验证失败的字段! console.log(this.$refs["manualVarifaction"]); //验证通过,请求登录
this.loginIn();
}); //处理后端响应结果l
// 成功:XXX
// 失败:xXX
},
loginIn() { request({
method: "POST",
url: "/mp/v1_0/authorizations",
// data用来设置 POST 请求体
data: this.user,
})
.then((res) => {
// 登录成功
console.log(res);
})
.catch((err) => {
// 登录失败
console.log("登录失败", err);
});
}

效果展示

自定义验证规则

 <!-- 当然你的规则还是要绑定到prop 属性上面 如下! -->
<el-form-item prop="agree">
<!-- `checked` 为 true 或 false -->
<!-- 要让复选框里的双向绑定到user.agree -->
<el-checkbox v-model="user.agree">
我己阅读并同意用户协议和隐私条款</el-checkbox
>
</el-form-item>

 agree: [
{
// 自定义校验规则!
// 验证通过: callback()
// 验证失败!:callback(new Error('错误i的信息!'))
// value 是一个布尔值! 勾选选项value的值就会变成true
validator: (rule, value, callback) => {
console.log(rule, value)
if (value) { } else {
callback(new Error('错误提示'))
} },
// message: "请勾选同意用户协议!",
trigger: "change" , },
]

效果展示

Vue项目之实现登录功能的表单验证!的更多相关文章

  1. Xamarin.Forms登录对话框及表单验证

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议,请网站留言: 如果您觉得Dotnet9对您有帮助,欢迎赞赏. Xamarin.Forms登录系统 内容目录 实现效果 业务场景 编码实现 ...

  2. JaveWeb 公司项目(4)----- Easyui的表单验证

    前面三篇博文讲述的是界面的搭建和数据的传输,可以看出目前我做的这个小项目已经有了一个大体的雏形,剩下的就是细节部分的打磨和一些友好的人机交互设计,今天做的是表单的验证,作为初学者,着实花了一番功夫,所 ...

  3. 介绍Web项目中用到的几款表单验证插件

    第一个插件 jqueryvalidation 官网地址:http://jqueryvalidation.org/ 第二个插件 nice Validator 官网地址: http://niceue.co ...

  4. vue iview modal弹出框 form表单验证

    一.ref="addApply" :model="addApply" :rules="ruleValidate"   不要忘记prop 二. ...

  5. ThinkPhp框架:父类及表单验证

    这个知识点,就可以通过"登录"和"注册"的页面来学习这个知识点了首先先做一个"登录"功能一.登录功能(父类)(1)登录的控制器在我的控制器文 ...

  6. nice-validator表单验证插件的简单使用

    前言 前端表单校验是过滤无效数据.假数据.有毒数据的第一步,是数据安全的第一道关卡,虽然我们不能100%相信客户端提交的数据(真正的校验还得在服务端进行),但设置前端表单校验也是至关重要的,自己写逻辑 ...

  7. nice-validator表单验证插件

    nice-validator表单验证插件的简单使用 前言 前端表单校验是过滤无效数据.假数据.有毒数据的第一步,是数据安全的第一道关卡,虽然我们不能100%相信客户端提交的数据(真正的校验还得在服务端 ...

  8. spring boot + vue 前后分离实现登录功能(一)

    使用webpack 打包初始化项目 vue init webpack book-vue 进入工程目录 cd hello-vue 安装 vue-router npm install vue-router ...

  9. spring boot + vue 前后分离实现登录功能(二)

    安装 axios 进行路由转发 npm install axios --save-dev 或者 cnpm install axios --save-dev 修改 Main.js 新增 var axio ...

随机推荐

  1. 基于 WebRTC 的 RTSP 视频实时预览

    简介 背景 由于项目需要,需要使用摄像头预览功能,设备型号为海康威视.目前已存在的基于 FFmpeg 的方案延迟都太高,所以项目最终选择基于此方案. 方案 方案选用为基于 WebRTC 的视频即时通讯 ...

  2. Android面试系列一

    什么是ANR,如何避免它 ​ ANR是应用程序无响应(Application Not Responding)的的英文缩写: ​ 当Android 手机在一段时间响应不够灵敏,系统会向用户展示一个对话框 ...

  3. 安利一个基于Spring Cloud 的面试刷题系统。面试、毕设、项目经验一网打尽

    推荐: 接近100K star 的Java学习/面试指南 Github 95k+点赞的Java面试/学习手册.pdf 今天给小伙伴们推荐一个朋友开源的面试刷题系统. 这篇文章我会从系统架构设计层面详解 ...

  4. h5问题总结

    一.下拉刷新上拉加载 主要依赖一款插件mescroll.js  http://www.mescroll.com/ 简单好用.以前同事的用法是初始化执行执行上拉会调,页数从0开始,下拉重新加载当前地址走 ...

  5. [Machine Learning] 多变量线性回归(Linear Regression with Multiple Variable)-特征缩放-正规方程

    我们从上一篇博客中知道了关于单变量线性回归的相关问题,例如:什么是回归,什么是代价函数,什么是梯度下降法. 本节我们讲一下多变量线性回归.依然拿房价来举例,现在我们对房价模型增加更多的特征,例如房间数 ...

  6. 微信小程序-页面下拉

    微信小程序当滑动到最顶部和最底部时,继续下拉,会将整个页面拉下去或者拉上去,本来以为是客户端自有的特性,就没去管他,直到我的禅道出现了这个记录... 其实这个问题是可以解决的,只需要在你不想出现在此情 ...

  7. Scanner详解

    java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入 1)public static void main(String[] args) { S ...

  8. 定期删除文件夹中的文件——C#

    下面是自定义的一个函数,参数分别为:文件夹名称.文件后缀.保存天数 逻辑是获取当前系统的时间,和文件创建时间去作差,如果结果大于保存天数,就删除它 /// <summary> /// 定期 ...

  9. Sql语句模糊查询字符串的两种写法

    Sql语句模糊查询有两种写法,一种是在jdbcTemplate的查询方法参数里拼接字符串%,一种是在Sql语句里拼接%字符串. public class IsNameDaoImpl implement ...

  10. git 合并多次commit

    如果当前分支提交了多次commit,无法merge到master上,就需要合并多出的几次commit 第一步 查看log: git log 第二步 git rebase -i HEAD~2 对最近的两 ...