Vue项目之实现登录功能的表单验证!
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项目之实现登录功能的表单验证!的更多相关文章
- Xamarin.Forms登录对话框及表单验证
微信公众号:Dotnet9,网站:Dotnet9,问题或建议,请网站留言: 如果您觉得Dotnet9对您有帮助,欢迎赞赏. Xamarin.Forms登录系统 内容目录 实现效果 业务场景 编码实现 ...
- JaveWeb 公司项目(4)----- Easyui的表单验证
前面三篇博文讲述的是界面的搭建和数据的传输,可以看出目前我做的这个小项目已经有了一个大体的雏形,剩下的就是细节部分的打磨和一些友好的人机交互设计,今天做的是表单的验证,作为初学者,着实花了一番功夫,所 ...
- 介绍Web项目中用到的几款表单验证插件
第一个插件 jqueryvalidation 官网地址:http://jqueryvalidation.org/ 第二个插件 nice Validator 官网地址: http://niceue.co ...
- vue iview modal弹出框 form表单验证
一.ref="addApply" :model="addApply" :rules="ruleValidate" 不要忘记prop 二. ...
- ThinkPhp框架:父类及表单验证
这个知识点,就可以通过"登录"和"注册"的页面来学习这个知识点了首先先做一个"登录"功能一.登录功能(父类)(1)登录的控制器在我的控制器文 ...
- nice-validator表单验证插件的简单使用
前言 前端表单校验是过滤无效数据.假数据.有毒数据的第一步,是数据安全的第一道关卡,虽然我们不能100%相信客户端提交的数据(真正的校验还得在服务端进行),但设置前端表单校验也是至关重要的,自己写逻辑 ...
- nice-validator表单验证插件
nice-validator表单验证插件的简单使用 前言 前端表单校验是过滤无效数据.假数据.有毒数据的第一步,是数据安全的第一道关卡,虽然我们不能100%相信客户端提交的数据(真正的校验还得在服务端 ...
- spring boot + vue 前后分离实现登录功能(一)
使用webpack 打包初始化项目 vue init webpack book-vue 进入工程目录 cd hello-vue 安装 vue-router npm install vue-router ...
- spring boot + vue 前后分离实现登录功能(二)
安装 axios 进行路由转发 npm install axios --save-dev 或者 cnpm install axios --save-dev 修改 Main.js 新增 var axio ...
随机推荐
- SQLServer之 Stuff和For xml path
示例 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 : 类别 名称 AAA 企业1 AAA ...
- Core3.0全局捕获异常
前言 此方法由百度所得,找不到原文链接了 步骤 1.创建异常捕获类 using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; u ...
- Ext CheckBoxGroup使用
一.效果图展示 我这里主要是为了实现选择周期时间.如周一.周二.周三等 二.界面界面代码 下面就是我实现的代码,包含了界面.数据处理.回填数据等.可能架构的方式,您的代码和我的代码有差异,但是大体就是 ...
- 开发规范(一) 如何记录日志 By 阿里
- java中游标
package YouBiao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.Resu ...
- Oracle 使用MERGE INTO 语句 一条语句搞定新增编辑
MERGE INTO RDP_CHARTS_SETTING T1 USING (SELECT '10001' AS PAGE_ID, 'test' AS CHART_OPTION FROM DUAL) ...
- 广告计价方式:CPM,CPC,CPA
转自知乎链接:https://www.zhihu.com/question/20416888/answer/15076251 1.CPM 收费最科学的办法是按照有多少人看到你的广告来收费.按访问人次收 ...
- [leetcode]62.UniquePaths
/** * Created by lvhao on 2017/7/6. * A robot is located at the top-left corner of a m x n grid (mar ...
- [leetcode]242. Valid Anagram判断两个字符串是不是包含相同字符的重排列
/* 思路是判断26个字符在两个字符串中出现的次数是不是都一样,如果一样就返回true. 记住这个方法 */ if (s.length()!=t.length()) return false; int ...
- C#—连接SQLserver数据库,并执行查询语句代码
//字段ArticleID,ArticleName,ArticleNumber,Unit,Weight,Price,Currency,IsIuggage,IsQuarantine string str ...