Size: a a a

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

2019 December 01

G

Galeups in Angular - русскоговорящее сообщество
Там даже code style описан
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
ребята, мой вопрос понятнее и проще не бывает, но сорри, если я своими детальными объяснениями технической части сбил вас с толку и извините за давление, если вы его почувствовали. В общем идея такова: представьте форму, в которой два поля для заполнения: имя и фамилия + кнопка сабмита. При загрузке страницы с этой формы кнопка не доступна, так как поля ПУСТЫ, когда не пусты кнопка активна. Я хочу сделать это через реактивные формы с помощью FormControl и валидаторы, чтобы ангуляр forms сразу распознавал, что поля не заполнены даже если их пользователь не трогал и в моменты когда страница вот вот загружена и я бы мог прописать в своём html для свойства кнопки [disabled]. А когда поля все имени и фамилии заполнены, кнопка становится кликабельной. И когда ты кликаешь на неё в ход уже вступают остальные валидации отличные от Validators.required.
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
я лично вопрос не понял. очень длинно. в песочницу код и сюда скинь, понятнее будет
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
На сколько я тебя понял, хотя вряд-ли. Для вывода ошибок пробуй использовать ошибки с форм контролов. Когда я делал форму логина - ошибки у форм группы у меня не появлялись.
Так же можешь попробовать использовать в html знак вопроса:
this.baseElemForm.errors?.required.

Ещё момент. Зачем возмущаешься, если никто не отвечает? Люди могут спать или просто группа замьючена и уведомления не видят. Я думаю, что нужно быть сдержаннее - тебе обязательно ответят, если знают ответ и прочитают. Плюс ко всему замечу: чем понятнее вопрос, тем быстрее ты ответ получишь.
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
а не понял походу толком никто )
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
в данном случае такие валидаторы вступили в игру, если кнопка была бы активна и была бы нажата:
firstName: ['', [Validators.required, Validators.pattern('^[a-zA-ZŠšŽžÕõÄäÖöÜü][a-zA-ZŠšŽžÕõÄäÖöÜü -]*$')]],
lastName: ['', [Validators.required, Validators.pattern('^[a-zA-ZŠšŽžÕõÄäÖöÜü][a-zA-ZŠšŽžÕõÄäÖöÜü -]*$')]]
источник

ЕУ

Евгений Удалов in Angular - русскоговорящее сообщество
Plomipu Dmitri
ребята, мой вопрос понятнее и проще не бывает, но сорри, если я своими детальными объяснениями технической части сбил вас с толку и извините за давление, если вы его почувствовали. В общем идея такова: представьте форму, в которой два поля для заполнения: имя и фамилия + кнопка сабмита. При загрузке страницы с этой формы кнопка не доступна, так как поля ПУСТЫ, когда не пусты кнопка активна. Я хочу сделать это через реактивные формы с помощью FormControl и валидаторы, чтобы ангуляр forms сразу распознавал, что поля не заполнены даже если их пользователь не трогал и в моменты когда страница вот вот загружена и я бы мог прописать в своём html для свойства кнопки [disabled]. А когда поля все имени и фамилии заполнены, кнопка становится кликабельной. И когда ты кликаешь на неё в ход уже вступают остальные валидации отличные от Validators.required.
validators.required и проверяет, пустое поле или нет. на кнопку вешаешь [disabled]="form.invalid" и этого должно быть достаточно
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
Евгений Удалов
validators.required и проверяет, пустое поле или нет. на кнопку вешаешь [disabled]="form.invalid" и этого должно быть достаточно
в том то и дело, что свойство invalid проверяет форму на ВСЕ фейлы в валидации, а нужно для кнопки, чтобы она проверялась на фейлы только валидаторов Validators.required
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
А проверку на то, какие символы должны разрешены для имени и фамилии в полях должна быть ТОЛЬКО после того, как кнопка активна и нажата
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
но formGroup.errors мне возвращает null
источник

ЕУ

Евгений Удалов in Angular - русскоговорящее сообщество
странное решение. зачем делать кнопку активной, если у тебя введенные данные не соответствуют паттернам?
источник

С

Степан in Angular - русскоговорящее сообщество
Задаю обратно вопрос. Как проверить, что подписка была отменена, то есть unsubscribe? Размещения таймера в мапе не совсем то решение, он работает даже когда подписка была оформлена через асинк пайп , покидая компонент/модуль, таймер логирует все равно в консоле
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
Евгений Удалов
странное решение. зачем делать кнопку активной, если у тебя введенные данные не соответствуют паттернам?
ну просто я решил, какой смысл писать логику и динамическими html темплейты с сообщениями об эррорах о том, что поля надо заполнить, если это для пользователей слишком очевидно будет, и что кнопка неактивна заставит их подумать, что содержимое тех полей уже важны для формы изначально ??
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
а вот если например имя с фамилией должна быть написано латиницей и должны быть написаны с большой буквой, то тут логику появления сообщения об ошибке прописать нужно
источник

С

Степан in Angular - русскоговорящее сообщество
Plomipu Dmitri
ну просто я решил, какой смысл писать логику и динамическими html темплейты с сообщениями об эррорах о том, что поля надо заполнить, если это для пользователей слишком очевидно будет, и что кнопка неактивна заставит их подумать, что содержимое тех полей уже важны для формы изначально ??
Можно один раз написать и оно будет использоваться во всем приложении
источник

С

Степан in Angular - русскоговорящее сообщество
Указываешь просто валидатлры в будущем
источник

С

Степан in Angular - русскоговорящее сообщество
И все
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Степан
Задаю обратно вопрос. Как проверить, что подписка была отменена, то есть unsubscribe? Размещения таймера в мапе не совсем то решение, он работает даже когда подписка была оформлена через асинк пайп , покидая компонент/модуль, таймер логирует все равно в консоле
Посмотрите тип TeardownLogic и где он используется
источник

С

Степан in Angular - русскоговорящее сообщество
Вертихвост キバ
Посмотрите тип TeardownLogic и где он используется
Ok. Спасибо
источник

PD

Plomipu Dmitri in Angular - русскоговорящее сообщество
Степан
Можно один раз написать и оно будет использоваться во всем приложении
ну не знаю. Я конечно могу так сделать, но прост не очень такой подход мне по душе, как у нас было в старом релизе приложухи
источник