最近、角度2を使用して独自のカスタムフォームコントロールを作成しようとしました。 カスタムコントロールには2つの入力があり、既存のオブジェクトを既知の構造で編集する必要があります。たとえば:カスタムフォームコントロールを親フォームにアングル2で接続する
class model {
public fieldOne: number;
public fieldSec: number;
}
私はここで見つける良い説明に従っ: Guide For Writing custom form controls
それは私がそれを使用してフォームに カスタムコントロールのフォーム検証を接続する方法については言及しなかったガイド以外大丈夫働きました。
カスタムコントロールテンプレートは次のように何とかなります:
<form>
<input [(ngModel)]="existingModel.fieldOne">
<input [(ngModel)]="existingModel.fieldSec" required>
</form>
そして、我々は価値がある既存のモデルを編集するためにそれを使用します。
{
fieldOne: 20,
fieldSec: undefined
}
そして、私たちを は簡単な例を見てみましょうこのモデルを編集するカスタムコントロールが必要な私のアプリでは、いくつかのフォームでそれを使用してください:
<form #formVar="ngForm">
<my-custom-control [(ngModel)]="existingModel" required>
</my-custom-control>
</form>
この種の例は、モデルを編集できるという点で私のアプリで機能します。 問題は、フォームが無効なときにユーザーを表示し、formVar.validを見ると、existingModel.fieldSec
が定義されていなくても、カスタムコントロールフォームで必要な検証が行われていてもtrueになります。
それはどうやってそれを最初に解決したのですか?私はあまりにも扱いにくく、そのような一般的な使用事例のための組み込みのソリューションがもっとあるはずだと感じたので、言及しなかった。 –
ありがとう。これを行う方法を見つけ出そうと数時間を過ごした! –
これにはまだソリューションが組み込まれていませんか? –