-1
Какой предпочтительный способ установить
модель с неверным доменным объектом
так что я могу использовать ... в моем
посмотреть (как я бы в нормальном
действие контроллера)?
Вам просто нужно вернуть объект вашего домена, в котором есть ошибки. Вы можете сделать это в
состояние действия
action {
user.validate()
return [user:user]
}
Вы также можете установить свои ошибки во флеш-области. При каждом переходе Grails будет копировать содержимое области флеш-памяти в ModelView и таким образом будет доступно на вашей странице gsp
action {
flash.error = "your message"
}
-2
Когда я вызываю error (), отправляет ли он поток обратно в init или
первый? Когда вы называете ошибку, она вызывает
переход, который вы определили для
Вы должны определить обработчик для таких как
on("error").to("handlerError")
Принимает ли error () какие-либо аргументы (например, модель), которые можно использовать для
что я пытаюсь сделать (не могу
найти много документации по ошибке ()
метод).
Я так не думаю, но вы можете сделать следующее, чтобы установить любую переменную при переходе из одного состояния в другое
on("error") {
// do Something
}.to("handlerError")
* * 3- тысяча двадцать восемь
Я бы также принял предложения о том, как я мог бы улучшить свои состояния потока, чтобы
лучше облегчить обработку этих
ошибки проверки.
Я использую flash для глобальных ошибок и ошибок формы, но мне нужен ОДИН способ справиться с этим. В настоящее время в Grails область действия флэш-памяти управляется иначе, чем в обычном действии. Поэтому я решил написать небольшой плагин, чтобы изменить способ обработки области флеш-памяти в потоке и привести его в соответствие с тем, как управляется в обычном действии.
На странице gsp я могу использовать свои теги следующим образом независимо от типа действия (обычный или поток)
<message:global />
or
<message:inline />
Что касается ошибок полей формы, я не хотел иметь дело с ошибками в объектах домена. Я хотел что-то более единое. Поэтому я решил сделать их частью протокола http, и у меня есть компонент javascript, который, если я решу, добавлю их в форму. Я обнаружил, что это решение намного чище, чем каждый раз, когда приходится иметь дело с ошибками g:
* 1040 Кен *