전체적으로 각도와 JavaScript를 처음 사용하여 Materialize 라이브러리 (데이터 오류 특성)를 사용하여 사용자 입력이 잘못되었을 때 메시지를 추가하려고합니다. 따라서 내 html 구성 요소는 다음과 같습니다.Angular2 양식 유효성 검사 오류 메시지
<input
type="text"
id="username"
formControlName="username"
[class.valid]="username?.valid && username.dirty"
[class.invalid]="!username?.valid && username.dirty && !username.pending"
>
<label for="username"
data-error="ERROR_MESSAGE" // <-- this is what I need to work
>Username</label>
오류에 따라 데이터 오류 속성을 변경하고 싶습니다. 현재 오류가있을 때마다 "ERROR_MESSAGE"를 인쇄합니다. 나는 함수를 작성하고이 같은 [attr.data 오류]로 바인딩 시도 :
displayUsernameErrorMessage() {
let message = '';
let usernameError = this.username.errors;
if(usernameError.pattern){
message = "Invalid Username"
console.log(usernameError);
}
else {
return null;
}
}
나는이와 정말 나쁜 일을하고 있다고 생각, 10 콘솔에서 시간과 그것의 같은 기능 로그 가난한 해결책. 그것이 더 잘 작동하도록하는 방법에 대한 아이디어는 대단히 감사합니다!
EDIT 1 : 추가 정보는 오류에 따라 다른 메시지를 표시하고 싶습니다. Validator.pattern에서 오류가 발생하는 경우 - "유효하지 않은 사용자 이름"또는 Validators.required의 메시지 인 경우 - "사용자 이름을 입력하십시오."등과 같은 메시지가 필요합니다. 나는 그것을하고있어 방법
일부 CSS의 데이터 오류 속성을 참조 할 수 있습니다,하지만 난 좀 더 동적으로 만들고 싶다. 미안하다. 처음 게시물이 오도된다. 오류에 따라 다른 메시지를 갖고 싶다. 그래서 필드가 유효하지 않을 때 실행되어 오류 레이블을 변경하는 함수와 같은 것을 원한다. 예를 들어, Validator.required에서 오류가 발생하는 경우 - "사용자 이름을 입력하십시오"라고 표시되지만 Validators.minLength에서 나온 경우 - "적어도 3 자 이상 입력하십시오"또는 이와 비슷한 것으로 표시됩니다 – Shirohige
알았습니다. ..;) .. –