Size: a a a

Angular - русскоговорящее сообщество

2019 November 06

П

Пёс Цифрового Сопротивления in Angular - русскоговорящее сообщество
Anton Shvets
очевидно потому что он сам этот touched и меняет
ну а как я могу в своем кастомном инпуте на это реагировать? задача, показать ошики при сабмите формы. мы тригерим их через markAsTouched()
источник

П

Пёс Цифрового Сопротивления in Angular - русскоговорящее сообщество
т.е. эмулируем взаимодействие юзера
источник

VS

Vitaliy Stepanenko in Angular - русскоговорящее сообщество
Roman Kolesnikov
только коммент нужно обновить?
Да
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Пёс Цифрового Сопротивления
ну а как я могу в своем кастомном инпуте на это реагировать? задача, показать ошики при сабмите формы. мы тригерим их через markAsTouched()
ErrorStateMatcher в материале можешь посмотреть
источник

AE

Argument Exception in Angular - русскоговорящее сообщество
Пёс Цифрового Сопротивления
ну а как я могу в своем кастомном инпуте на это реагировать? задача, показать ошики при сабмите формы. мы тригерим их через markAsTouched()
а что если приинжектить в кастом контрол NgControl типа: @Self() @Optional() private control: NgControl

а там уже как-то отслеживать состояние
источник

П

Пёс Цифрового Сопротивления in Angular - русскоговорящее сообщество
Argument Exception
а что если приинжектить в кастом контрол NgControl типа: @Self() @Optional() private control: NgControl

а там уже как-то отслеживать состояние
а это возможно?
источник

AE

Argument Exception in Angular - русскоговорящее сообщество
в теории да, пробуй
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Argument Exception
а что если приинжектить в кастом контрол NgControl типа: @Self() @Optional() private control: NgControl

а там уже как-то отслеживать состояние
как ты будешь отслеживать тачед?)
источник

П

Пёс Цифрового Сопротивления in Angular - русскоговорящее сообщество
Smooth Operator
ErrorStateMatcher в материале можешь посмотреть
ErrorStateMatcher это крошечный класс который сам контрол проверяет
источник

RK

Roman Kolesnikov in Angular - русскоговорящее сообщество
а в чем проблема? если бэк не игнорирует этот ключ, то запрос должен обновить спокойно
источник

П

Пёс Цифрового Сопротивления in Angular - русскоговорящее сообщество
Smooth Operator
как ты будешь отслеживать тачед?)
ну по идее state меняется с pristine  на touched
источник

AE

Argument Exception in Angular - русскоговорящее сообщество
Smooth Operator
как ты будешь отслеживать тачед?)
проперти есть, если цель просто что-то сделать на теймплейте то просто binding сделать, а если вот прям подписаться то да, проблема
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Пёс Цифрового Сопротивления
ну по идее state меняется с pristine  на touched
в statusChanges это не отображается
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Argument Exception
а что если приинжектить в кастом контрол NgControl типа: @Self() @Optional() private control: NgControl

а там уже как-то отслеживать состояние
cyclic dependency! NgControl
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Argument Exception
проперти есть, если цель просто что-то сделать на теймплейте то просто binding сделать, а если вот прям подписаться то да, проблема
для этого они и придумали ErrorStateMatcher
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
можно наверно в registerOnTouched регистировать свою обертку
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Anton Shvets
cyclic dependency! NgControl
в след тике надо получать
источник

AE

Argument Exception in Angular - русскоговорящее сообщество
Anton Shvets
можно наверно в registerOnTouched регистировать свою обертку
это в обратную сторону только, из кастом контрола наверх
источник

П

Пёс Цифрового Сопротивления in Angular - русскоговорящее сообщество
Smooth Operator
для этого они и придумали ErrorStateMatcher
@Injectable({providedIn: 'root'})
export class ErrorStateMatcher {
 isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {
   return !!(control && control.invalid && (control.touched || (form && form.submitted)));
 }
}
я не понимаю как мне это поможет
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Пёс Цифрового Сопротивления
@Injectable({providedIn: 'root'})
export class ErrorStateMatcher {
 isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {
   return !!(control && control.invalid && (control.touched || (form && form.submitted)));
 }
}
я не понимаю как мне это поможет
источник