로 끝 사용하고 프런트 엔드에서 구현할 수있는 방법
. 익숙하지 않다면 문서를 확인하십시오. 그러나 매우 간단하기 때문에 많은 문제가 있어서는 안됩니다.
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이라는 세 개의 FormControl을 사용하여 FormGroup을 선언합니다.
이러한 FormControls의 값은 초기화에 사용되며 해당 FormControl의 실제 값이거나 첫 번째 요소가 FormControl의 값이되고 두 번째 요소가 ValidatorFn
이거나 배열이 될 수 있습니다. 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에는 양식 유효성 확인에 대한 예제가 담긴 문서가 있습니다 (https://angular.io/guide/form-validation). 희망이 당신을 시작하는 데 도움이됩니다. – stealththeninja
@stealththeninja이 검증 만이 아닙니다. 필드 유효성 검사를하고 DB에 유효한 필드를 저장해야하는 동일한 시간이 필요합니다. 내가 할 수있는 한 가지는 각 필드가 유효한지 확인하기 위해 필요합니다. 저장하기 전에는 좋은 생각이라고 생각하지 않습니다. 다른 제안? – Team
최소한의 완전하고 검증 가능한 예를 만드는 것이 좋습니다. https://stackoverflow.com/help/mcve. 그만큼, 우리는 Angular 문서를 만들고 반복하거나 연결하려고하는 것을 추측하고 있습니다. – stealththeninja