0Pricing
Angular Academy · レッスン

カスタムバリデーション

堅牢なカスタムバリデーションを実装します。

「カスタムバリデーション」はCoddyKit上の無料Angular Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAngular Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Angular Academyコースには全3レッスンが含まれています。

Angularフォームのカスタムバリデーション

Angularフォームのカスタムバリデーション

Angularアプリケーションで堅牢なフォームバリデーションを実装するために、カスタムValidatorsを作成する方法を学びます。

カスタムバリデーション — イラスト1

カスタムバリデーションとは

カスタムバリデーションとは

カスタムValidatorsを使うと、requiredやminlengthなどの組み込みValidatorsでは対応できない独自の検証ロジックを定義できます。

カスタムValidatorの作成

カスタムValidatorの作成

カスタムValidatorは、入力が有効な場合はnullを、無効な場合はオブジェクトを返すシンプルな関数です。

function forbiddenNameValidator(control: AbstractControl): { [key: string]: any } | null {
  return control.value === 'admin' ? { 'forbiddenName': true } : null;
}

Validatorの適用

Validatorの適用

フォームコントロールにカスタムValidatorを適用します。

this.myForm = new FormGroup({
  username: new FormControl('', [forbiddenNameValidator])
});

バリデーションエラーの表示

バリデーションエラーの表示

バリデーションの状態に応じて、テンプレートにエラーメッセージを条件付きで表示します。

<div *ngIf="myForm.get('username').hasError('forbiddenName')">
  Username 'admin' is not allowed.
</div>

Validatorディレクティブの使用

Validatorディレクティブの使用

Validatorsは、テンプレート駆動フォームのディレクティブとして直接使用することもできます。

<input name="username" ngModel forbiddenName>

非同期Validators

非同期Validators

非同期Validatorsを使うと、サーバーによる確認など、非同期処理を伴う検証を実行できます。

username: new FormControl('', null, [asyncValidator])

カスタムValidatorsのテスト

カスタムValidatorsのテスト

さまざまな状況やエッジケースでも正しく動作することを確認するため、Validatorsは必ずテストしてください。

まとめ

まとめ

Angularで堅牢なフォームバリデーションを実現するために、カスタムValidatorsを作成して適用する方法を学びました。すばらしい成果です。

カスタムバリデーション — イラスト10

よくある質問

「カスタムバリデーション」レッスンは無料ですか?

はい。「カスタムバリデーション」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Angular Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Angular Academyコースには全3レッスンが含まれています。

「カスタムバリデーション」で何を学びますか?

堅牢なカスタムバリデーションを実装します。 ブラウザで直接実行するハンズオンコードでAngular Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Angular Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAngular Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「カスタムバリデーション」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAngular Academyレッスンでコードを書いて実行できますか?

はい。すべてのAngular Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. テンプレート駆動フォーム
  2. リアクティブフォーム
  3. カスタムバリデーション
← Angular Academyに戻る