您的位置:首页 > Web前端 > AngularJS

Angular 4 表单验证

2017-10-12 09:04 302 查看
定义:

<input>元素带有一些HTML验证属性:required、minlength、maxlength和pattern:

#starttimeClass="ngModel"把NgModel导出成了一个名叫starttimeClass的局部变量。NgModel把自己控制的FormControl实例的属性映射出去,让我们能在模板中检查控件的状态,比如valid和dirty。

<input type="date" id="name" [(ngModel)]="starttime" name="name" #starttimeClass="ngModel"
pattern="^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$"
required maxlength="10">
显示错误信息:

<div>元素的*ngIf揭露了一套嵌套消息divs,但是只在有“starttimeClass”错误和控制器为dirty或者touched。

每个嵌套的<div>为其中一个可能出现的验证错误显示一条自定义消息。比如 required、minlength、maxlength和pattern。

<div *ngIf="!(starttimeClass.valid || starttimeClass.pristine)" class="alert alert-danger">

<div [hidden]="!starttimeClass.errors.required">

开始时间不能空白!
</div>

<div [hidden]="!starttimeClass.errors.pattern">

开始时间格式应为yyyy-mm-dd或yyyy/mm/dd!

</div>
</div>
必填字段提示CSS:

.ng-valid[required].ng-dirty:not(form),
.ng-valid.required.ng-dirty:not(form) {
border-left: 5px solid #42A948;
}

.ng-valid[required].ng-pristine:not(form),
.ng-valid.required.ng-pristine:not(form) {
border-left: 2px solid #EFC26E;
}

.ng-invalid[required].ng-pristine:not(form) {
border-left: 2px solid #EFC26E;
}

.ng-invalid.ng-dirty:not(form) {
border-left: 5px solid #a94442;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  表单验证 Angular ng4