[解決済み] PromiseまたはObservableを返すことを期待するバリデータ
2022-04-24 02:01:06
質問
Angular 5でカスタムバリデーションを行おうとしているのですが、以下のようなエラーに直面します。
Expected validator to return Promise or Observable
値が必須項目に一致しない場合、フォームにエラーを返したいだけなのですが、これが私のコードです。
これは、私のフォームがあるコンポーネントです。
constructor(fb: FormBuilder, private cadastroService:CadastroService) {
this.signUp = fb.group({
"name": ["", Validators.compose([Validators.required, Validators.minLength(2)])],
"email": ["", Validators.compose([Validators.required, Validators.email])],
"phone": ["", Validators.compose([Validators.required, Validators.minLength(5)])],
"cpf": ["", Validators.required, ValidateCpf]
})
}
このコードは、私が実装したいバリデーションのファイル内にあります。
import { AbstractControl } from '@angular/forms';
export function ValidateCpf(control: AbstractControl){
if (control.value == 13445) {
return {errorCpf: true}
}
return null;
}
そのような検証はobservableでしかできないのでしょうか?それともプロミスやobservableでなくてもできるのでしょうか?
どのように解決するのですか?
ということです。 複数のバリデータを配列で追加する
. 例
エラーあり
profileFormGroup = {
budget: [null, Validators.required, Validators.min(1)]
};
上記のものは、次のようなエラーを投げます。 バリデータはプロミスかオブザーバブルを返すべきものです。
修正しました。
profileFormGroup = {
budget: [null, [Validators.required, Validators.min(1)]]
};
説明する。
Angular Reactiveのフォームバリデーションは、2つ目の場所にある配列で指定された内蔵のバリデーターを使用して行われます。 複数のバリデーターを使用 .
field_key: [initial_value, [list_of_validators]].
関連
-
Vueの要素ツリーコントロールに破線を追加する説明
-
Vueにシンプルなメモ帳機能を実装
-
[解決済み】ローカルファイルを開くことができません - Chrome: ローカルリソースの読み込みが許可されていない
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
[解決済み】TypeErrorの解決方法。未定義またはヌルをオブジェクトに変換できない
-
[解決済み】(Google Map API) Geocodeは以下の理由で成功しませんでした。REQUEST_DENIED
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] なぜ ++[[]][+[] +[+[]] は "10" という文字列を返すのでしょうか?
-
[解決済み] BehaviorSubjectとObservableの違い?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vueネットワークリクエストソリューション ネイティブネットワークリクエストとjsネットワークリクエストライブラリ
-
JavaScriptの配列共通メソッド解説
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
[解決済み】JavaScriptエラー(Uncaught SyntaxError: Unexpected end of input)
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
[解決済み】(Google Map API) Geocodeは以下の理由で成功しませんでした。REQUEST_DENIED
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。