1
간단한 앱을 테스트하고 있습니다. 이 내 파일입니다모델 기반 양식 - 검사기 문제
home.component.ts
import { Component } from '@angular/core';
import { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';
@Component({
selector: 'app-home',
templateUrl: 'home.component.html'
})
export class HomeComponent {
form: FormGroup;
constructor(fb: FormBuilder) {
this.form = new FormGroup({
'firstName': new FormControl('', Validators.required),
'password': new FormControl('', Validators.minLength(5))
});
}
onSubmit() {
console.log('model-based form submitted');
console.log(this.form);
}
}
그리고 이것은 템플릿 파일입니다
<section class="sample-app-content">
<h1>Model-based Form Example:</h1>
<form [formGroup]="form" (ngSubmit)="onSubmit()">
<div class="form-field">
<label>First Name:</label>
<input type="text" formControlName="firstName">
</div>
<div class="form-field">
<label>Password:</label>
<input type="text" formControlName="password">
</div>
<p>
<button type="submit" [disabled]="!form.valid">Submit</button>
</p>
</form>
하지만이 firstname
을 쓸 때 있기 때문에 잘 Validators
를 인식하지 못합니다 제출 버튼을 활성화하면, 첫 번째 이름을 공백으로두면 입력이 빨간색으로 변경되지 않습니다.
내가 뭘 잘못하고 있니?
편집 :
본인은 검증이 실패하는 경우 각 유효성 검사기는 ng-invalid
CSS 클래스를 설정 여기
http://plnkr.co/edit/cs6N0n?p=preview
내가 이해했는지 보도록하겠습니다. 유효성 검사기는 양식의 유효 상태 만 변경할 수 있으며 동작의 상태는 변경할 수 없습니다. 나는 거기에서 일하고있는 학급이 있었다고 생각했다. 따라서 색상을 변경하거나 메시지를 표시하려면 지시문을 추가해야합니까? – FacundoGFlores
아니요, 각도를 추가 할 필요가없고'ng-invalid' 클래스를 자동으로 제거하지만, 당신은 어떻게 ng-invalid 클래스를 정의해야합니까? 브라우저는 기본적으로이 것이 존재하고 빨간색이어야한다는 것을 알지 못합니다. 그리고 각도는 기본 CSS를 가져 오지 않습니다. – Matthias247
원한다면'[ngClass. notvalid]'= "! form.valid"이고 ng-invalid 대신 css를 notvalid로 정의하십시오. – Matthias247