0

この質問はタペストリー 4 (タペストリー 5 ではありません) に関するものです。サイクルでフォーム コンポーネントをレンダリングして 1 つのフォームを送信しようとすると、タペストリーは 1 つのフォーム インスタンスのみを作成してそれを再利用するため、検証によって両方のフォームにエラーが表示されます。各フォームに一意の 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

ブラウザーに検証エラーが 2 回表示される理由は、実際にはフォームが 1 つしかないためです。2回レンダリングしているだけです。各フォームに個別の検証処理を持たせたい場合は、2 つの個別の @Form コンポーネントを作成する必要があります。

于 2012-12-28T19:45:32.500 に答える