で角度4とバックエンドを使用しています実装することができます。あなたがそれに精通していない場合は、ドキュメントをチェックしてくださいが、それは非常に簡単なので、それほど大きな問題ではありません。
form: FormGroup;
constructor(formBuilder: FormBuilder){
this.form = formBuilder.group({
name: ['', Validators.required],
lastName: '',
email: ['', [Validators.required, Validators.email]]
});
}
だから、基本的には、ここで何が起こっているかは、反応性フォームで作業する場合、我々はFormGroup
インスタンスを必要とすることです。 FormBuilder
クラスを使用し、group
メソッドを呼び出します。このメソッドは、作成するフォームのオブジェクトを受け取り、FormGroup
インスタンスを返します。私たちが渡すオブジェクトの各プロパティは、FormGroupのFormControlsとして知られています。この例では、name、lastName、およびemailという3つのFormControlを持つFormGroupを宣言しています。
これらのFormControlの値は、初期化に使用され、そのFormControlの実際の値、または最初の要素がそのFormControlの値になる配列のいずれかです.2番目の値はValidatorFn
または。
ご覧のとおり、FormControlという名前をname: ['', Validators.required]
というように定義しました。つまり、初期値は空の文字列になり、このFormControlが必要です。 lastNameは、空の文字列です。なぜなら、そのフィールドの検証は必要ないからです。このFormControlには複数のバリデータが必要なので、電子メールはもっと面白いので、配列に渡します。
そして今、私たちのテンプレートでこのすべてを実装することにも非常に簡単です
<form [formGroup]="form">
<div>
<input formControlName="email">
<div *ngIf="form.get('email').hasError('required') && form.get('email').touched">This field is required</div>
<div *ngIf="form.get('email').hasError('email') && form.get('email').touched">Invalid email format.</div>
</div>
...
そして、あなたは、ユーザーがそれが有効になるまでフォームを送信できるように許可したくない場合:<button [disabled]="form.invalid">Save</button
書かれているように、この質問はかなり広いです。作業中のフォームの例を追加すると役立ちます。 Angularにはフォームの検証に関する例があるdocがあります:https://angular.io/guide/form-validation。これがあなたを始めるために役立つことを願っています。 – stealththeninja
@stealththeninjaこれは検証だけではありません。私はフィールドを検証する必要があると同時に、私はdbに有効なフィールドを保存する必要があります。私ができることの1つは、各フィールドが有効かどうかを確認する必要があることです。保存する前に、それは良いアイデアだとは思いません。他の提案はありますか? – Team
最小限で完全で検証可能な例を作成することをお勧めします。https://stackoverflow.com/help/mcveつまり、Angularのドキュメントを作成したり、繰り返したり、リンクしたりしようとしているものを推測しています。 – stealththeninja