温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Angular 4 表单验证

发布时间:2020-06-29 05:50:44 来源:网络 阅读:1578 作者:frank6600 栏目:开发技术

定义:


  • <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;

}



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI