2016-01-20 16 views
6

テンプレートドリブンとモデル駆動型の角型2(ベータ0)の長所と短所を見ると、単純なテキスト入力フィールドにカスタム検証をどのように関連付けることができるのだろうかテンプレート駆動型。このアプローチに使用できる例はありません(必要なもののほうがあります)。見つけられませんでした。例えば、検証関数として角型2のテンプレート駆動型

<form #f="ngForm"> 
    <label for="name">Name</label> 
    <input type="text" ngControl="name" [(ngModel)]="obj.name" #name="ngForm"> 
    <button type="button" (click)="save()">Save</button> 
</form> 

validate(control:Control):ValidationResult { 
    if (control.value === 'Monkey') { 
     return { invalidName: true } 
    } 
} 

上記検証機能はFormBuilderを使用してモデル駆動型フォームで使用して動作します。テンプレート駆動型アプローチを使用してこれをどのように行うことができますか?

「これはできないし、今後もない」などの回答です。または「モデル駆動型のアプローチをとるのがベストプラクティスではありません」議論と一緒に私と一緒に罰金以上になります。 (私はすでに方法がないと思っていますが、ウェブ上に証拠がないと思うので、Model Drivenアプローチをもっと好むでしょう)

+1

を参照してください。 -angular-2/ – Langley

+1

ここに見て... http://stackoverflow.com/q/34350049/5043867 –

+0

残念ながら、FormBuilderを使用している例があります。私が 'ngControl =" name "'を暗黙的に定義しようとしているときにバリデーターを付けることができるのでしょうか? –

答えて

2

テンプレート駆動型では、カスタムバリデータの指示を作成してinput要素html属性に似ています(required属性を追加するのと同じ方法)。

カスタムバリデータのためのディレクティブを作成する方法について、この記事を読んでください:http://blog.ng-book.com/the-ultimate-guide-to-forms-inを:この場合に役立ちますhttp://blog.thoughtram.io/angular/2016/03/14/custom-validators-in-angular-2.html

関連する問題