У меня есть угловая реактивная форма, и при отправке у меня есть этот код:
(ngSubmit)="addVideo(); addVidForm.reset();"
Я отмечаю свою основную форму #addVidForm
У меня также есть несколько пользовательских валидаторов / элементов управления, которые являются особенными по сравнению с другой формой, которая у меня есть, где это не происходит при сбросе формы.
Мой валидатор выглядит следующим образом:
static mustBeVimeo(control: AbstractControl) : ValidationErrors | null {
if((control.value as string).startsWith("https://vimeo.com/")){ return null } else
if((control.value as string).startsWith("http://vimeo.com/")){ return null }
else { return { mustBeVimeo : true } }
}
Это моя форма на сервере:
this.addVideoForm = new FormGroup({
title: new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(50)]),
description: new FormControl('', [Validators.required, Validators.minLength(5), Validators.maxLength(200)]),
category: new FormControl('', [Validators.required]),
link: new FormControl('', [Validators.required, AddVideoValidators.mustBeVimeo, Validators.maxLength(100)]),
visibleToGuests: new FormControl(this.visibleToGuests, [Validators.required])
})
Я также сделал функцию, которая просто сбрасывает форму на сервере и вызывает ее с помощью кнопки, и я получаю ту же ошибку.
Не совсем уверен, какая часть всей этой вещи терпит неудачу. Это поле является обычным вводом, как я использую в других местах.