Angular 2 Material md 输入验证

标签 angular angular2-template angular2-forms angular2-material

我正在为 Angular 2 使用 Material 的 md-input 组件。我知道它仍然是 Material 的 alpha 版本,但也许有人可以解释我如何使用 Angular 2 所需的 html 验证属性与 md-input(Is已经实现了吗?)。我已经尝试过这个(效果很好):

<md-card>
    <md-input 
        placeholder="Url"
        id="url"
        url="url"
        [(ngModel)]="urlInputValue"
        #url="ngModel"
        required>
        <md-hint *ngIf="url.errors && (url.dirty || url.touched)" [ngStyle]="{'color': 'red'}"> Url is required </md-hint>            
    </md-input>

    <button
        md-raised-button color="accent"
        [disabled]="isUrlInputEmpty()"
        (click)="onRequestBtnClick()">
        Request
    </button>
</md-card>

如何使用“必需”?

<md-hint *ngIf="url.errors.required && (url.dirty || url.touched)" [ngStyle]="{'color': 'red'}"> Url is required </md-hint>

最佳答案

在你的 TS 文件中你应该有:

import { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';

export class UrlComponent  {   
   public urlForm: FormGroup;
  constructor(private formBuilder: FormBuilder) {

  this.urlForm = this.formBuilder.group({
  url:    new FormControl('', Validators.required),
   });
  }
//... codes..
}

并将 HTML 更改为:

<form role="form" [formGroup]="urlForm" novalidate>
<md-input 
    placeholder="Url"
    id="url"
    url="url"
    [(ngModel)]="urlInputValue"
    formControlName="url"
    #url="ngModel"
     >
    <md-hint *ngIf="url.errors && (url.dirty || url.touched)" [ngStyle]="{'color': 'red'}"> Url is required </md-hint>            
</md-input>

<button
    md-raised-button color="accent"
    [disabled]="isUrlInputEmpty()"
    (click)="onRequestBtnClick()">
    Request
</button>

</form>

关于Angular 2 Material md 输入验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41129802/

相关文章:

Angular2 如何在纯 JS 中定义输入属性

Angular/RxJS : keep interval running even in case of an error

javascript - 具有多个参数的 Angular 2 路由器链接

angular - 如何在angular2中获取 Paypal 交易细节?

angular - 从 Angular 2 中的 jquery 调用 TypeScript 方法

html - CSS - float 不应用任何效果

angular - 使用不同的构造函数以 Angular 继承两个组件

javascript - Angular2 View 不更新从共享服务更改的数据

angular - 如何将表单控件添加到现有表单组 - angular2

html - angular2 自定义指令输入语法