2011-12-30 58 views
0



林的話...
有幾個不同的前綴其字段(後來在數據綁定使用)一個巨大的表格並試圖驗證通過一個命令對象 ...但是在前綴中使用可愛的DOT給我一個困難的時間,無法得到名稱正確映射在命令對象...請任何建議嗎?
Grails的命令對象和領域與前綴使用Grails 1.3.7這裏

形式

有像場場像這樣的:

<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魔術?!?!?!

回答

0

,你可以搶在控制器中的「經銷商」地圖通過

def dealerMap = params["dealer"] 

然後TNX手工創建一個經銷商命令opject和地圖內容綁定到它。

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

然後你可以使用命令對象的正常

驗證
+0

所以這裏是最後執行: DEF docheck = {DealerformCommand zcmd - > \t DEF cmdParams = [:] \t cmdParams [ 'ZIPCODE'] =參數[ 「zipCode.name」] \t zcmd =新DealerformCommand() \t bindData(zcmd,cmdParams) zcmd.validate() 如果(zcmd.hasErrors()){ \t \t \t的println「\尼特是providi NG錯誤:>>>>>>>>>>>}」 zcmd.errors.each { 的println它 } \t}其他{ \t \t的println 「\ n它已經通過了測試」 \t} \t渲染視圖:'someForm' } – Sepi 2012-01-04 16:43:16