HI,
我有一个表单,我在其中生成输入元素行(使用JavaScript)供用户输入数据。每行包含关于用户正在输入的特定框的数据(例如,高度,宽度,长度等)。我已经成功地使用了这个表单,我可以从ActionForm中读取/读出一个ArrayList对象。
我想验证这些条目以预先捕获无效条目。 (我在1.3.10) 我似乎无法找到任何关于将ValidatorForm与动态数量的表单元素一起使用的文档。也就是说,我永远不知道会输入多少行的行,我想知道是否有人成功使用Validator来验证动态表单元素?
这甚至可能吗?或者我是否已经辞职以实现.validate()方法?
是否可以对某些元素使用Validator,并将其余元素留给.validate()方法?有没有人这样做过,如果有的话,有什么陷阱?
我很感激你的意见,甚至是我可以阅读资源的指针。
答案 0 :(得分:2)
您可以通过以下步骤来完成此操作 1.定义一个类(简单POJO)说DimensionBean;其中包含一行输入元素的值(如高度,宽度,长度等) 2.在Form bean(ValidatorForm的子代)中,定义DimensionBean的数组或列表。数组的名称是arrDimensionBeans 3.在validation.xml中,您可以按如下方式定义
<field property="height" indexedListProperty="arrDimensionBeans" depends="validwhen">
<arg0 key="yourform.height.label"/>
<var>
<var-name>test</var-name>
<var-value>((arrDimensionBeans[].width == null) or (*this* != null))</var-value>
</var>
</field>
仅当width为null或height不为null时,才会检查高度。您可以根据需要更改var值。希望这能帮助您解决问题。