Apache Wicket:使用单个 ajax 请求更新多个 FormComponents

Apache Wicket: Updating multiple FormComponents with a single ajax request

wicket 表单流程为表单中的所有 FormComponents 执行转换、验证和模型更新。 AjaxFormComponentUpdatingBehavior 将为单个组件执行此过程。我正在寻找的是一种在一个 FormComponent 上使用事件来执行两个 FormComponent 的表单处理的方法。

示例页面可能如下所示:

    <form wicket:id='form'>

        <label>Name</label>
        <input type='text' wicket:id='name'/>

        <label>Start Date</label>
        <input type='text' wicket:id='start'/>

        <label>End Date</label>
        <input type='text' wicket:id='end'/>

    </form>

当其中一个日期字段发生更改时,我想使用 ajax 对另一个进行验证,并更新两个模型,单独保留表单上的所有其他组件。为此,必须在两个字段上进行转换、验证和模型更新。我还没有找到使用单个 ajax 事件来执行此操作的方法。

有什么想法吗?

可能解决问题的最直接方法是将 2 个字段包装在 nested form:

 <form wicket:id='form'>

    <label>Name</label>
    <input type='text' wicket:id='name'/>
       <form wicket:id='innerForm'>
         <label>Start Date</label>
         <input type='text' wicket:id='start'/>
         <label>End Date</label>

         <input type='text' wicket:id='end'/>
       </form>
</form>

其中一个日期字段更改只需通过 AJAX(使用 AjaxFormSubmitBehavior)提交 innerForm 并将验证逻辑应用于这两个字段。 希望对您有所帮助。