我有一個結合了標籤,一個文本框和一個錯誤的標籤一Macrocomponent ...ZK MVVM驗證消息自動綁定?
<mycomponent id="productname" caption="Product name" value="Apple XYZ" error=""/>
...現在我想使用綁定...
很顯然,我可以寫......
<mycomponent id="productname" caption="Product name" value="@bind(vm.productName)" error="@bind(vmsgs['productname'])"/>
(給定的,當然,一個validationMessages="@id('vmsgs')
以上地方 - 正確標註到位,所以這種結合工作正常)
...但當然,我必須爲每個字段執行此操作,這會混亂我的.zul文件。那麼,是否有機會以某種方式(甚至在java代碼中)告訴組件使用組件ID將它自己綁定到vmsgs,而不必爲每個字段都提供該組件?因此,這將有同樣的效果......
<mycomponent id="productname" caption="Product name" value="@bind(vm.productName)"/>
..或者也許
<mycomponent id="productname" caption="Product name" value="@bind(vm.productName)" bindError="true"/>
當然,組件應該留在非MVVM環境中使用,因此增加固定綁定可能是出。例如,如果我們以某種方式綁定並自動添加我們自己的綁定,那麼有什麼機會找到Java?
您能發佈java驗證部分嗎?我的想法是從ValidationContex.getBindContext()。getComponent()獲取組件的id,並通過組件id管理錯誤。當然,它只適用於每個組件都有設置的ID。 – barracus
有錯誤作爲屬性的宏組件有一個id,在那裏沒有問題。子成員也有,但當然總是一樣的。驗證部分至今還沒什麼特別的,只是一些簡單的AbstractValidators檢查和添加消息。 –