Angular 4 表单验证
定义:
<input>元素带有一些HTML验证属性:required、minlength、maxlength和pattern:
#starttimeClass="ngModel"把NgModel导出成了一个名叫starttimeClass的局部变量。NgModel把自己控制的FormControl实例的属性映射出去,让我们能在模板中检查控件的状态,比如valid和dirty。
<inputtype="date"id="name"[(ngModel)]="starttime"name="name"#starttimeClass="ngModel"
pattern="^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$" requiredmaxlength="10">
显示错误信息:
<div>元素的*ngIf揭露了一套嵌套消息divs,但是只在有“starttimeClass”错误和控制器为dirty或者touched。
每个嵌套的<div>为其中一个可能出现的验证错误显示一条自定义消息。比如required、minlength、maxlength和pattern。
<div*ngIf="!(starttimeClass.valid||starttimeClass.pristine)"class="alertalert-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:5pxsolid#42A948;
}
.ng-valid[required].ng-pristine:not(form),
.ng-valid.required.ng-pristine:not(form){
border-left:2pxsolid#EFC26E;
}
.ng-invalid[required].ng-pristine:not(form){
border-left:2pxsolid#EFC26E;
}
.ng-invalid.ng-dirty:not(form){
border-left:5pxsolid#a94442;
}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。