フォームで使用するカスタムコンポーネントを開発しています。私はControlValueAccessor
インターフェイスを実装しており、うまく動作します。角型のカスタムコンポーネントに事前定義バリデータを追加
required
バリデータ(これはCAPTCHA)なしで使用する理由はないので、コンポーネントのすべての呼び出しでrequired
バリデータを指定する必要があります。
このバリデーターは私のコンポーネントに直接埋め込むことができますか?ngModel
とフォーム(テンプレートベースのものと反応性のものの両方)で使用すると、常にこのバリデーターに適用されますか?
明確化。例を考える:
<my-captcha [(ngModel)]="firstCaptcha" required></my-captcha>
<my-captcha [(ngModel)]="secondCaptcha" required></my-captcha>
<my-captcha [(ngModel)]="thirdCaptcha" required></my-captcha>
上記MyCaptcha
成分の全ての呼び出しは、フォームコントロールに適用される必要バリためにrequired
属性を使用する必要があります。
required
属性を明示的に指定せずにカスタムコントローラを呼び出すことはできますが、それにもかかわらずバリデータが適用されていますか?このように:
<my-captcha [(ngModel)]="captchaValue"></my-captcha>
申し訳ありませんが、少し焦点が合っていませんが、*必要なバリデーター*とはどういう意味ですか?あなたは 'required'属性を意味しますか? – SrAxi
はい、コンポーネントの値を提供する必要があります。それ以外の場合は無効と見なされます。 Angularはこれをテンプレートベースのフォームで 'required'属性で解決します。 –
私は現在同様の状況にあります。反応性のあるフォームを使用することは選択肢ですか? これまで助けてくれたものは反応性のあるフォームで完了しました – Arikael