Angular4表单验证代码详解
发布时间 - 2026-01-11 03:04:46 点击率:次背景:

最近在itoo页面调整的时候,发现页面表单或者是文本框没有做基本的判断操作,所以着手demo一篇,希望对大家有帮助!!
--------------------------------------------------------------------------------
1.创建表单组件:
ng g c login1
2.1单规则验证:
<label>用户名:</label>
<input type="text" #userNameRef=ngModel [(ngModel)]=userName required>
<span [style.color]="userNameRef.valid ? 'black':'red'">{{userNameRef.valid}}</span>
--------------------------------------------------------------------------------
效果:
2.2.多规则验证:(不能为空,用户名和密码的长度)
<div class="form-group">
<label>用户名:</label>
<input type="text" class="form-control" #userNameRef=ngModel minlength="3" maxlength="8" [(ngModel)]=userName required>
<span [style.color]="userNameRef.valid ? 'black':'red'">{{userNameRef.valid}}</span>
</div>
错误原因提示方式:
<div class="form-group">
<label>用户名:</label>
<input type="text" class="form-control" #userNameRef=ngModel minlength="3" maxlength="8" [(ngModel)]=userName required>
<span [style.color]="userNameRef.valid ? 'black':'red'">{{userNameRef.errors|json}}</span>
<div *ngIf="userNameRef.errors?.required">this is required</div>
<div *ngIf="userNameRef.errors?.minlength">should be 3 chacaters</div>
</div>
效果:
###:初始化,没有输入数据:
###:输入数据,但是长度小于3:
###:合法输入:
当然这里有一个问题,就是合法的时候usernameRef.errors=null,但是用户看起来不太美观,所以就需要判断当usernameRef.errors=null的时不出现:
<span [style.color]="userNameRef.valid ? 'black':'red'" *ngIf="userNameRef.errors!=null">{{userNameRef.errors|json}}</span>
具体实例登陆代码:
<form #form="ngForm" (ngSubmit)="form.form.valid && submit(form.value)" novalidate class="form-horizontal" role="form">
<div class="form-group" [ngClass]="{ 'has-error': form.submitted && !userName.valid }">
<label class="col-sm-2 control-label">用户名:</label>
<div class="col-sm-10">
<input required name="userName" [(ngModel)]="user.userName" #userName="ngModel" type="text" class="form-control" placeholder="请输入用户名...">
<div *ngIf="form.submitted && !userName.valid" class="text-danger">用户名必须输入!</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">密码:</label>
<div class="col-sm-10" [ngClass]="{'has-error': form.submitted && !password.valid }">
<input required minlength="8" maxlength="12" [(ngModel)]="user.password" name="password" #password="ngModel" type="password" class="form-control" placeholder="请输入密码...">
<div *ngIf="form.submitted && !password.valid" class="text-danger">密码必须输入,至少要8位!</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-success">登录</button>
</div>
</div>
</form>
login.component:
import { Component, OnInit} from '@angular/core';
import{UserModel} from '../model/user.model';//引入了usermodel
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
constructor() { }
//定义user为Usermodel
private user=new UserModel();
ngOnInit() {
}
/**
* 登陆事件
* @param form 表单中的输入值
*/
submit(form){
if(form.username=="1"&&form.password=="12345678"){
alert("登录成功了");
}else{
alert("非法用户");
}
}
}
3.userModel:
export class UserModel{
userName:string;
password:string;
}
效果:
1.未填时点击登陆:
2.输入登陆:
3.非法用户:
总结
以上所述是小编给大家介绍的Angular4表单验证代码详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
# angular4
# 表单验证
# AngularJS使用ngMessages进行表单验证
# angular实现表单验证及提交功能
# AngularJS中实现用户访问的身份认证和表单验证功能
# 详解AngularJS中的表单验证(推荐)
# AngularJS手动表单验证
# 详细解读AngularJS中的表单验证编程
# AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
# 强大的 Angular 表单验证功能详细介绍
# AngularJS 表单验证手机号的实例(非必填)
# Angular2.js实现表单验证详解
# AngularJS自定义表单验证功能实例详解
# 表单
# 请输入
# 小编
# 不太
# 给大家
# 或者是
# 所述
# 给我留言
# 未填
# 为空
# 文本框
# 有一个
# 有任何
# 引入了
# div
# form
# group
# color
# black
# red
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Linux后台任务运行方法_nohup与&使用技巧【技巧】
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
教你用AI将一段旋律扩展成一首完整的曲子
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Laravel如何与Inertia.js和Vue/React构建现代单页应用
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
如何批量查询域名的建站时间记录?
专业商城网站制作公司有哪些,pi商城官网是哪个?
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
高性能网站服务器配置指南:安全稳定与高效建站核心方案
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
如何在景安云服务器上绑定域名并配置虚拟主机?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
在线教育网站制作平台,山西立德教育官网?
Python文本处理实践_日志清洗解析【指导】
Laravel如何实现多对多模型关联?(Eloquent教程)
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Laravel如何使用Sanctum进行API认证?(SPA实战)
深圳网站制作平台,深圳市做网站好的公司有哪些?
EditPlus 正则表达式 实战(3)
PHP 500报错的快速解决方法
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
如何在宝塔面板中修改默认建站目录?
Java遍历集合的三种方式
公司网站制作价格怎么算,公司办个官网需要多少钱?
MySQL查询结果复制到新表的方法(更新、插入)
jQuery validate插件功能与用法详解
Android Socket接口实现即时通讯实例代码
在centOS 7安装mysql 5.7的详细教程
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Android 常见的图片加载框架详细介绍
网站制作免费,什么网站能看正片电影?
如何用狗爹虚拟主机快速搭建网站?
如何在阿里云购买域名并搭建网站?
如何在云指建站中生成FTP站点?
如何在Windows虚拟主机上快速搭建网站?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
如何确保西部建站助手FTP传输的安全性?
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
制作电商网页,电商供应链怎么做?
Laravel如何处理异常和错误?(Handler示例)
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
Laravel集合Collection怎么用_Laravel集合常用函数详解

