Closed sedovalx closed 9 years ago
@sedovalx какой статус у валидации? json.validate[User] - это работает или надо продумывать?
@v1pka там валидация на уровне совпадения типов и обязательности. При этом генерируется ошибка, которую ember не понимает. Я пока еще этим сильно не занимался. Нужно доделывать, расширять.
@sedovalx посмотри, плиз, этот коммит. Сделал валидацию для User в методах create и update.
@v1pka немного не так, поправил сериализацию ошибки. К тому же, оказалось, что нужно возвращать код 422. В остальном вроде нормально. Нужно подумать, как ошибки делать читаемыми. Про более сложные правила валидации пока не думаем наверное.
Тест забыл. Завтра сделаю. Вообще, надо подумать, как для entity контроллеров базовый класс сделать.
Отключил пока генерацию sql. Что-то не разобрался пока, как и её иметь, и скрипт schema_up.sql. Наверное нужно было модель scala-кодом описать, а не в sql. Постараюсь завтра это сделать.
@sedovalx сегодня попробовал сделать базовый контроллер. Есть засада: а) с нашим trait Entity и методом copy, используемым в контроллере - решается отказом от copy и объявление всех переменных как var б) использование UserService - тут либо для всего вводить слой абстракции, либо.. хз :)
@v1pka еще не понял, о чем ты, но могу сказать, что UserController - это не показатель, там много того, чего не будет в остальных. Тренироваться можно на DriverController.
@sedovalx смотри - у контроллеров в create идет вызов *Repo(Например, DriverRepo), а в UserController - в UserService
@v1pka ну будем считать, что в каком-то виде это есть.
Стандартный вариант Ember. Тут описано, что клиент ожидает получить в ответ, если при сохранении объекта возникли ошибки валидации. Нужно это поддерживать на сервере. В принципе вся валидация может быть описана в виде типов и признаков опциональности полей доменных типов (тут надо про ассоциации подумать). Для этого есть встроенный механизм описания правил валидации Play.
Если это окажется сложно, то можно попробовать сделать обратный ход - сделать кастомный обработчик серверных ошибок валидации на клиенте. Но лучше все же придерживаться формата Ember.