Ничего там не генерит. WPF - это не веб-платформа. Это десктоп.а то, что тебе C# тебе генерит JS - это уже твой выбор
Если тебе что-то непонятно — спроси. Отвечать теми же бессвязными фразами не нужно.к сожалению, ты опять начинаешь вести разговор несвязанными фразами, и общаться становится сложно
Да, так. А какое тогда сюда отношение имеют те модели, которые в domain model на сервере? В чем аналогия? Я не понял.примеры популярного сейчас "data binding" - это Angular, Knockout, React, Ember, в них связываются данные не между сервером и клиентом, а внутри клиента
вот странный результат. Почему ошибка в конкретном месте превращается в глобальную ошибку? Например прислал юзер при регистрации неуникальный username.авторедиректы и флеш ошибки
В реальном мире никто не мешает ошибку NotUniqueUsername превращать в ошибку конкретного поля и обрамлять красненькой рамочкой.В реальном мире это не так, клиенту что на этапе валидации, что на этапе ошибки при вставке в базу надо выдать, что не какая-то абстрактная ошибка, а именно вот это поле не валидно.
Тебе ничто не мешает валидировать присланную команду RegisterUser { "username": "Foo", ... }, указав, что username неуникален, тогда до выполнения команды даже не дойдёт.вот странный результат. Почему ошибка в конкретном месте превращается в глобальную ошибку? Например прислал юзер при регистрации неуникальный username.
Если клиент - это js в браузере, то тут дело не в уважении, а в доверии к этим данным.Но мне кажется, считать, что сервер должен заботиться о каждом поле клиента — это не уважать клиент.
Видимо ты меня неверно понял.Если клиент - это js в браузере, то тут дело не в уважении, а в доверии к этим данным.
не факт что не мешает. Это слишком суровое требование, не все внешние системы могут иметь локи, чтобы совершить такую проверку.Тебе ничто не мешает валидировать присланную команду RegisterUser { "username": "Foo", ... }, указав, что username неуникален, тогда до выполнения команды даже не дойдёт.
Ну ты же понимаешь о чем я говорю) Клиент может 25 раз все проверить, а на этапе выполнения запроса что-то пойдет не так.Клиент тоже должен быть по возможности самодостаточным и не тупым.
Валидация может быть на стороне сервера. Что-то вроде: https://github.com/leopro/trip-planner/blob/master/src/Leopro/TripPlanner/PresentationBundle/Controller/ApiController.php#L26не факт что не мешает. Это слишком суровое требование, не все внешние системы могут иметь локи, чтобы совершить такую проверку.