Size: a a a

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

2020 February 17

ИБ

Иван Ботанов in Angular - русскоговорящее сообщество
Smooth Operator
мат тут не приветсвуется
так он же премиум персона
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Иван Ботанов
так он же премиум персона
но он пишет на реакте
источник

ИБ

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

S

Smooth Operator in Angular - русскоговорящее сообщество
тут как бы патовая ситуация
источник

AH

Alex H in Angular - русскоговорящее сообщество
может кто подсказать по rxjs что то я совсем не вьезжаю%)
есть оператор debounceTime
я его использую так

const subjectTmp = new Subject();
subjectTmp.pipe(
 debounceTime(5000),
);

subjectTmp.subscribe((time) => {
 console.log(time)
})

setInterval(() => subjectTmp.next(Date.now()), 1000)


но в консоле все так же через секунду приходят данные, у меня руки кривые или я что то не так делаю🙄
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Alex H
может кто подсказать по rxjs что то я совсем не вьезжаю%)
есть оператор debounceTime
я его использую так

const subjectTmp = new Subject();
subjectTmp.pipe(
 debounceTime(5000),
);

subjectTmp.subscribe((time) => {
 console.log(time)
})

setInterval(() => subjectTmp.next(Date.now()), 1000)


но в консоле все так же через секунду приходят данные, у меня руки кривые или я что то не так делаю🙄
почитай как setInterval работает
источник

AH

Alex H in Angular - русскоговорящее сообщество
Как сетинтервал я знаю как работает, у меня запара с debounceTime,  разве не должен быть консоль лог выводить через >5сек?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
должен
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
лол)
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
так ты подписываешься на сабжект
источник

S

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

AS

Anton Shvets in Angular - русскоговорящее сообщество
Виталий
Народ, привет!

Подскажите, как можно на одной форме переключать правила валидации?

Если конкретнее то ситуация вот какая:

Есть форма, состоит из 2-х CVA компонентов. В этих компонентах вложенные контролы. Т.е. получается двухуровневая вложенность.
Изначально я логику валидации задавал во вложенных CVA компонентах. Но сейчас появилась необходимость следать так чтобы эта логика менялась в зависимости от условия.

Как это можно сделать?

UPD
Если ещё проще объяснять: во вложенных компонентах почти все поля required. Нужно сделать так чтобы по условию они переставали быть required.
Я понимаю что можно передавать флаг в компонент, и делать свои кастомные валидаторы которые следят за этим флагом, но мне кажется должен существовать какой-нибудь изящный способ о котором я не знаю.
передать в цва инпут параметр и изнутри менять валидацию
источник

В

Виталий in Angular - русскоговорящее сообщество
Anton Shvets
передать в цва инпут параметр и изнутри менять валидацию
Можешь перефразировать? Не уверен что полностью понял идею.
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Виталий
Можешь перефразировать? Не уверен что полностью понял идею.
ну ты внутрь цва отправляешь инфу мторонним путем, а валидация потом всплывает из него
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
менять валидаторы контролов снаружи создаст путаницу
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Виталий
Можешь перефразировать? Не уверен что полностью понял идею.
Правильно будет
Обьявить в твоем CVA компоненте контракт на дескриптор
в котором будут обьявлены какие поля какую валидацию имеют (не сам код валидации, а схему)
и получать это дескриптор через DI, инпуты или т.п.
если ен получил дескриптор, используешь дефолтный
там где надо поменять валидацию, передаешь кастомный
источник

В

Виталий in Angular - русскоговорящее сообщество
Anton Shvets
менять валидаторы контролов снаружи создаст путаницу
Ты имеешь ввиду передавать в цса флаг говорящий о том как надо валидировать, и в цва уже навешивать или убирать нужные валидаторы? Так?
источник

AS

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

AS

Anton Shvets in Angular - русскоговорящее сообщество
а required вроде вообще сам вешается директивой
источник

В

Виталий in Angular - русскоговорящее сообщество
Smooth Operator
Правильно будет
Обьявить в твоем CVA компоненте контракт на дескриптор
в котором будут обьявлены какие поля какую валидацию имеют (не сам код валидации, а схему)
и получать это дескриптор через DI, инпуты или т.п.
если ен получил дескриптор, используешь дефолтный
там где надо поменять валидацию, передаешь кастомный
А есть пример какой нибудь? Не понятно как это выглядит в коде.
источник