Я использую реактивные угловые формы и создал новый валидатор настраиваемой формы, но он не показывает настраиваемые сообщения. Я хотел добавить настраиваемое сообщение для настраиваемого валидатора.
Я пытаюсь игнорировать статическое сообщение. Я хочу, чтобы это сообщение было добавлено в сам валидатор, чтобы оно могло отображаться везде, где я использую этот валидатор.
пользовательские коды валидатора:
import { FormControl } from '@angular/forms';
export function validateJson(input: FormControl): object | null {
try {
if (input.value) {
JSON.parse(input.value);
}
return null;
} catch (error) {
return { invalidFormat: true };
}
}
просто измените значение свойства invalidFormat
на объект с сообщением свойства вместо true
import { FormControl } from '@angular/forms';
export function validateJson(input: FormControl): object | null {
try {
if (input.value) {
JSON.parse(input.value);
}
return null;
} catch (error) {
return { invalidFormat: {message: "your message here"} };
}
}
и в html, если существует ошибка, отобразить такое сообщение
<div *ngIf = "formControl.errors.invalidFormat && formControl.dirty">
{{ formControl.errors.invalidFormat.message}}
</div>
да, я думаю, что это лучший способ, я не мог найти лучшего способа, чем этот, также мы используем его во всех наших проектах, и он отлично работает
спасибо и да, я пробовал, но просто хочу убедиться, что это рекомендованный способ или нет