0

这个问题是关于Tapestry 4(不是 Tapestry 5)。如果我尝试在循环中渲染表单组件并提交一个表单,验证会在两者中显示错误,因为 Tapestry 只创建一个表单实例并重用它。似乎我需要为每个表单提供唯一的 id,但我不知道如何。这是重现该问题的代码:

    <block jwcid="formBlock@Block">
        <form jwcid="@Form">
            <input jwcid="@TextField" value="literal:" validators="validators:required" />
            <input type="submit" />
        </form>
    </block>
    <for jwcid="@Foreach" source="ognl:new int[]{1,2}">
        <span jwcid="@RenderBlock" block="component:formBlock" />
    </for>
4

1 回答 1

0

验证错误在浏览器中显示两次的原因是因为实际上您只有一个表单;你只是渲染它两次。如果您希望每个表单都有单独的验证处理,那么您必须创建两个单独的 @Form 组件。

于 2012-12-28T19:45:32.500 回答