объект команды grails и поля с префиксами - PullRequest
0 голосов
/ 30 декабря 2011



Я использую Grails 1.3.7 и вот случай ...
Имеют огромную форму с несколькими различными префиксами для своих полей (позже использовавшимися в привязке данных) и пытающимися проверить через объект команды ... однако прекрасная DOT, используемая в префиксах: мне трудно, и я не могу правильно отобразить имена в объекте команды ... есть предложения, пожалуйста?

в форме есть такие поля, как поле:

<input name="dealer.name" value="${dealer.name}" type="text"> 

и для командного объекта:

class somethingCommand {
    String name
    Map dealer = [:]
    static constraints = {
        dealer validator: {
            val, obj ->
            obj.properties["name"] != ""
        }
    }
}

что если .... мы смотрим на это по-другому и отображаем параметры перед передачей в командный объект ... как я должен передать свои параметры командному объекту, не используя магию grails?!?!?!

Тпй

Ответы [ 2 ]

0 голосов
/ 27 мая 2014

Поддерживаются свойства привязки данных с префиксами к объектам команд:

Для команды:

class DealerCommand {
    String name
    Map dealer = [:]
}

Свойства с именами «имя», «дилер», «дилер.имя» и «дилер.дилер» будут правильно привязаны к объекту команды.

http://grails.org/doc/2.3.x/guide/single.html#commandObjects

0 голосов
/ 02 января 2012

вы можете получить карту дилера в контроллере через

def dealerMap = params["dealer"]

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

def dealerCommand = new DealerCommand() 
bindData(dealerCommand , dealerMap)

затем вы можете использовать проверку объекта команды как обычно

...