setDefaultFormProcessing(true)时wicket表单更改不可见

时间:2017-04-20 06:00:59

标签: java forms button wicket

我在wicket中有一个有两个按钮的表单。我希望有人对这些字段进行验证(如果它们保持为空或不存在),我已经做过了。现在我想第二个按钮不要进行此验证。我见过几个人们使用方法的例子,这是一种在wicket中使用Button类的方法。

但是,当我使用此方法时,我的表单似乎也忽略了在表单字段中所做的更改。

知道我实际上是如何绕过验证但仍能看到我的表格中的变化吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

这是定义的行为。如果数据无效,则无论如何都无法更新模型。考虑一个例子,当你有一个日期字段并输入'99 / 9 / YYYYY'时,这不是一个有效的日期,因此wicket没有机会绕过验证和更新模型。唯一的机会是将输入数据保存为String,并为您提供一个选项,如何通过您自己的实现转换或更新模型。

如果您有对表单组件的引用,则可以调用updateModel()。

请参阅http://apache-wicket.1842946.n4.nabble.com/Turn-off-form-validation-td1877661.html

并检查FormComponent的API文档,它是所有字段和其他表单组件的基类。 https://ci.apache.org/projects/wicket/apidocs/7.x/org/apache/wicket/markup/html/form/FormComponent.html