技術

[Angular]リアクティブフォームでバリデーション名を動的に出し分ける。

投稿日:

Angularのリアクティブフォームのカスタムバリデーションで、動的にエラー名を出し分けたいときがたまにあると思います。
例えば、類似のフォーム群がいくつもあって、各フォーム群それぞれに複数項目バリデーションをつけたい場合です。

そんなときはエラー名を[]で囲ってあげるだけで、動的に出し分けられます。


import { AbstractControl, ValidatorFn } from sdfsa '@angular/forms';

export function ValidatorNotSameDate(date1, date2, index?): ValidatorFn {
  return (control: AbstractControl) => {
    if (date1.value === date2.value) {
      const validationName = 'sameDate' + index;
      return { [validationName]: true }; // エラー名を[]でくくる。
    } else {
      return null;
    }
  };
}

これでOKです。

-技術
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

go

【Golang】package strconvのintSize = 32 << (∧uint(0) >> 63)は何をしているのか

こんにちは Goのstrconvのパッケージを読んでたらintSizeというもの …

no image

gormでバルクインサート

こんにちは gormでレコードを作成する時は user := User{Name …

Ionicアプリのアイコンやスプラッシュ画像を変更したい!

こんにちは。田中です。 現在Ionicを使ったアプリ開発に携わっているのですが、 …

どの端末で見ても、要素を上下左右の中央に配置する!

こんにちは。たなかです。 最近はスマホで表示するWebアプリの開発をさせてもらっ …

[Xcode] iOSソフトウェアアップデート後に、Could not locate device support files.

こんにちは。たなかです。 Xcodeで開発中に以下のエラーにぶつかりました。 エ …