Angular2 表单验证

1.实现双向数据绑定:

<div class="label">
   <label>测试一:
      <input type="text" [(ngModel)]='str' >
      <span>{{str}}</span>
   </label>
</div>

2.添加简单的验证功能:

       目前 Angular 支持的内建 validators(验证器)有如下五种;

(1)required - 设置表单控件值时非空的;

(2)email - 设置表单控件值的格式是 email;

(3)minlength - 设置表单控件值的最小长度;

(4)maxlength - 设置表单控件值的最大长度;

(5)Angular 提供两种验证方式:valid(是否正确),errors(错误)

(6)示例(#名称='ngModel'必须要加):

<div class="label">
   <label>测试一:
      <input type="text" [(ngModel)]='str' required #user='ngModel'>
      <span>{{user.valid}}</span>
   </label>
</div>

                    

3.添加聚焦事件:

<div class="label">
   <label>测试一:
      <input type="text" [(ngModel)]='str' required #user='ngModel' (focus)='onFocus()'>
      <span>{{name}}</span>
   </label>
</div>

//ts文件
name = '';
onFocus(){
    this.name = '字段不能为空'
}

                        

4.添加验证失败的错误信息:

<div class="label">
   <label>测试一:
      <input type="text" [(ngModel)]='str' required minlength='6' maxlength='9' #user='ngModel' (focus)='onFocus()'>
      <span *ngIf='user.errors?.required'>{{name}}</span>
      <span *ngIf='user.errors?.minlength'>请输入6到9位的字段</span>
   </label>
</div>

//ts文件
name = '';
onFocus(){
    this.name = '字段不能为空'
}

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Angular 表单验证是一种在 Web 应用程序中对用户输入进行验证的方法。它可以防止用户在提交表单之前输入不正确的数据。在 Angular 中,表单验证是通过构建验证器函数并将其应用于表单控件来完成的。以下是一个简单的例子,演示如何在 Angular 中应用表单验证: 1. 在 HTML 模板中定义表单: ```html <form (ngSubmit)="onSubmit()" #myForm="ngForm"> <label> Name: <input type="text" name="name" ngModel required> </label> <label> Email: <input type="email" name="email" ngModel required email> </label> <button type="submit" [disabled]="!myForm.form.valid">Submit</button> </form> ``` 2. 在组件中定义验证器函数: ```typescript import { Component } from '@angular/core'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; @Component({ selector: 'app-form', templateUrl: './form.component.html', styleUrls: ['./form.component.css'] }) export class FormComponent { myForm: FormGroup; constructor(private fb: FormBuilder) { this.myForm = this.fb.group({ name: ['', Validators.required], email: ['', [Validators.required, Validators.email]] }); } onSubmit() { console.log(this.myForm.value); } } ``` 在上面的代码中,我们使用 `FormBuilder` 创建了一个名为 `myForm` 的表单,并添加了两个控件:`name` 和 `email`。`name` 控件是必填的,而 `email` 控件则需要符合电子邮件格式。在 `onSubmit` 方法中,我们可以访问表单的值,并进行进一步的处理。 值得注意的是,为了让表单控件与模板中的 `ngModel` 指令进行绑定,我们需要在组件中导入 `FormsModule` 模块。在模板中,我们还使用了 Angular 的模板语法,如 `ngSubmit` 事件和 `[disabled]` 属性,来控制表单的行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值