Крылатый
Привет.
Ilya
Это пока бизнес не столкнулся с Americans with Disabilities Act.
Ilya
10 лет назад когдя я начинал работу с аспнетом меня учили что нужно и клиентскую делать и серверную валидацию (на случай если клиент отключил джаваскрипт)
Ilya
сейчас конечно это уже не актуально)
Vladimir
оо, молодец
Vladimir
вспомнил про читалки)
Vladimir
но и там врядли без джаваскрипта уже что-то осталось?
Ilya
Скорее всего. Там важнее всякие aria.
Mikhαil
сейчас конечно это уже не актуально)
Не понял - а почему не актуально то? Попрежнему делают серверную валидацию и для минимизации запросов фронтовую, не?
Mikhαil
Может в мире конечно что-то изменилось с тех пор как я фронт не делал
Mikhαil
Мы не делаем клиентскую
А, ну да. От клиентской можно отказаться если не критично бэк запросами долбить
Mikhαil
Короче понял вроде о чем речь
Mikhαil
О том что без клиентской можно жить не тужить
Ilya
Соболезную
Почему?🤔
Mikhαil
Мы шлем запрос на каждое действие (по лост фокус)
Мы щас дублируем частично валидацию насколько я знаю (у нас фронта эт мобилка и веб), но тут больше история про то, чтобы мобилки меньше дрочить сетевыми запросами
Ilya
Много данных, я имею ввиду
Vladislav
Vladislav
Mikhαil
Много данных, я имею ввиду
А, ну не. У нас приложение типа Тиньков инвестиции. С фронта не летят огромные данные (по крайней мере по фичам которые моя команда делает, но кажется что и по другим тоже)
Ilya
Не понял
Валидация нужна на вводе данных, а делать сложные формы ввода для мобил - сомнительное занятие
Ilya
Зачем?
Потому что валидация серверная?🤔
Ilya
В целом согласен
Упрощённо работает так: есть дто которая представляет собой типа вью модели: значения полей, валидационная информация к этому полю, визибилити и всё такое. Когда на фронте пользователь вводит что нибудь, отправляется патч на бэк с этим знанием. А в ответ возвращаются изменённые свойства
Vladimir
Не понял - а почему не актуально то? Попрежнему делают серверную валидацию и для минимизации запросов фронтовую, не?
я потом пояснил что неправильно выразился) кейс был такой - надо ли в серверной валидации заполнять ViewDictionary чтобы ошибки красиво отображались, я и написал что уже не актуально, хватит и клиентской, а на серверной можно 400 отправить и все, причем только имел ввиду MVC традиционный.
Vladimir
но как правильно заметили, возможно остались читалки без поддержки джаваскрипта, так что в целом все равно лучше заполнять
Ilya
Так Сделали что бы не дублировать логику валидации?
В том числе, но основной поинт в том, что есть очень много зависимых свойств и логика пересчёта не тривиальна + валидация так же не всегда тривиальна
Vladimir
а писали бы на фшарпе и фронт и бэк - не пришлось бы дублировать)
Vladimir
правда теперь то же самое можно и про блейзор сказать
Ilya
А не хипстеры
Vladimir
я вот уже который день читаю документацию про Блейзор - на словах он Лев Толстой
Ilya
Можно конечно упороться, но зачем?
Андрей
Вот у тебя 7 трупов, вот 30 тысяч каждый год
+100500, и это ещё большинство из них вменяемые
Anonymous
Anonymous
к этому мы не были готовы
Anonymous
{"key": "value"} => <html>{"key": "value"}</html>
Vasily
Вопрос знатокам сишурпа
Vasily
yield return response; response.A = newValue; yield return response;
Vasily
Ебанет или не должно?
IdiocyAcceptance
Не должно
Vasily
Ты хочешь сказать, вернется два разных объекта?
IdiocyAcceptance
Нет, один и тот же
Vasily
Пичаль
IdiocyAcceptance
ну если там будет рекорд
IdiocyAcceptance
и будет response with ...
IdiocyAcceptance
то будет 2 разных)
Vasily
Ну там классы
IdiocyAcceptance
Ну делай yield return response.A, yield return newValue
IdiocyAcceptance
и работай уже с конкретно меняющимися значениями
IdiocyAcceptance
или не вариант?
Vasily
Там yield return response
Vasily
Ежели кто не заметил
Vasily
Ну допустим
Vasily
Попросили занырнуть в соседний проект
Vasily
Как говорится
Ilya
Ебанет или не должно?
ебанёт однозначно!
Ilya
простыми словами проблема в этом
Ilya
у Get и Get().ToArray вывод разный
Ilya
и, например, внутри xunit вызывается toarray для member data
Ilya
поэтому такой код невалиден для дата тестов
IdiocyAcceptance
А ещё ты можешь в фориче менять значение элемента и таких мест будет целых два!
Anatoly
Ты хочешь сказать, вернется два разных объекта?
один и тот же, так и задумано же. если только это не структура
Ilya
один и тот же, так и задумано же. если только это не структура
там же захват переменной будет, если там будет мутабельная структура, будет всё ещё хуже
Anatoly
если я увижу, что это велью тип, я просто закрою проект и скажу, что меня тут нет, я в домике 😃
Ilya
Василий тоже сбежал с проекта)
IdiocyAcceptance
IdiocyAcceptance
А что внутри самой Стейт машины происходит уже не так важно
Ilya
ты как бы вроде меняешь структуру, но на самом деле их 4 копии
Ilya
и такая же проблема есть с async - там точно такое же поведение