Есть попытка создания собственного валидатора для формы в Angular 5
:
form: FormGroup;
ngOnInit() {
this.form = this.fb.group({
username: ['', [Validators.required, Validators.minLength(5)]],
password: ['', [Validators.required, Validators.minLength(5)]],
dpassword: ['', [Validators.required, this.validateMatchPasswords.bind(this)]],
email: ['', [Validators.required, Validators.email]]
});
}
validateMatchPasswords(control: FormControl) {
return {
error: this.form.get('password') === this.form.get('dpassword')
};
}
Идея в том что валидатор должен проверять при регитрации, что основное поле пароля и его повторение одинаковые. Но почему-то падает ошибка что не может найти метод get()
у объекта this.form
и вообще this.form
получается undefined
, хотя я сделал this.validateMatchPasswords.bind(this)
.
ERROR TypeError: Cannot read property 'get' of undefined
at RegistrationComponent.validateMatchPasswords (registration.component.ts:32)
at eval (forms.js:759)
at Array.map (<anonymous>)
at _executeValidators (forms.js:759)
at FormControl.eval [as validator] (forms.js:711)
at FormControl.AbstractControl._runValidator (forms.js:3433)
at FormControl.AbstractControl.updateValueAndValidity (forms.js:3387)
at new FormControl (forms.js:3905)
at FormBuilder.control (forms.js:7899)
at FormBuilder._createControl (forms.js:7965)
Подскажите пожалуйста, почему так происходит, и как это можно поправить?
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Здрасвуйте! Есть хедер, который имеет прозрачный фонКак только пользователь начинает скролить страницу вниз - хедеру даётся цвет:
Интересует именно функция wrapChain, сделал что-то похожее но не робит
Здравствуйте, мне по API приходит массив с объектами, в каждом объекте есть ключ priceНужно сделать фильтрацию по убыванию и возрастанию цены