我有一个简单的注册页面与验证码图像,我为用户提供了一个选择,以获得不同的验证码图像。起初,我只是尝试重新加载页面,这会给我一个新的验证码图像,但不幸的是,表单随后被清除,这对用户来说是不可接受和恼人的。
你将如何解决这个问题?如果我从“新图像”链接提交表单,wicket发布过程将在它到达我的onSubmit函数之前返回各种验证错误,这也不是很好的行为。
我猜我还可以添加ajax部分重新加载验证码图像,尽管这是一个更复杂的解决方案。任何指向一个好的和干净的解决方案的指针都会很好。
发布于 2012-08-16 15:47:46
您可以通过将表单设置为Button或[Ajax]SubmitLink,在“新图像”链接中提交表单。然后,您可以通过在该链接上调用setDefaultFormProcessing(false)来跳过除该链接的onSubmit方法之外的所有内容:
checkForm.add(new SubmitLink("submit") {
@Override
public void onSubmit() {
super.onSubmit();
// ...new captcha here...
}
}.setDefaultFormProcessing(false));这将导致所有内容都被提交(并为下一次呈现保留),但它将跳过值转换、验证和模型更新。
https://stackoverflow.com/questions/11982553
复制相似问题