我想到的具体情况如下:将 AjaxFormComponentUpdatingBehavior("onchange") 添加到表单中的 TextField 中。该行为验证特定条件下的文本(模型对象或表单组件模型,无关紧要),基于这些条件它可能会显示一条消息(或隐藏它,如果它已经显示)。
问题是,TextField 中还添加了验证器。一种可能的(并且可能的)场景包括用户首先输入一个值,该值导致消息由 AJAX 请求显示。然后,如果他/她输入的值未通过验证,则消息应该消失,但事实并非如此。
显然,要么根本不调用 AJAX 行为的 onUpdate() 方法,要么我尝试插入未验证条目的检查失败(我尝试测试空值和空字符串,但没有有用;我不知道当数据无效时,Wicket 的验证器究竟对模型做了什么)。
我想知道真正了解验证器(或实际上是 AJAX)的人是否对问题出在哪里有任何想法。
如果有人告诉我这不是绑定验证器和 AJAX 的一般问题,但很可能是编程错误,我可以发布编辑和发布代码。我仍然相信前者,因此我将避免发布代码部分,以便继续讨论 API/理论框架。
谢谢。