首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tapestry 5 ByPass验证

Tapestry 5 ByPass验证
EN

Stack Overflow用户
提问于 2011-09-09 12:03:59
回答 2查看 1.9K关注 0票数 1

我想问一下tapestry 5中的绕过验证

在我的表单中,我有一些需要验证的字段。我有两个提交按钮。如果我单击do some validation for save object,则为一个。另一个不能验证表单或绕过通过Ajax添加到详细对象的验证(使用zone)

感谢B4

EN

回答 2

Stack Overflow用户

发布于 2011-09-12 16:19:55

虽然我没有通过在t:form上设置t:clientvalidation="false"来使用客户端验证,但我相信您可以通过submit按钮旁边的cancel按钮绕过它,如下所示:

代码语言:javascript
复制
<input t:type="submit" t:mode="cancel" value="Cancel"  t:id="cancel" />
<input t:type="submit" value="Submit"  t:id="submit" />

看一看component reference for submit。在那里它声明"SubmitMode#CANCEL指示客户端验证应该被省略(尽管服务器端验证仍然发生)。“因此,您仍然需要停止服务器端验证。您可以使用以下命令来完成此操作:

代码语言:javascript
复制
private boolean cancelCalled;

void onSelectedFromSubmit() {
     cancelCalled = false;
}     

void onSelectedFromCancel() {
     cancelCalled = true;
}

@OnEvent(component = "theIdOfYourForm", value = EventConstants.VALIDATE)
private void validateForm() {
    if(cancelCalled) {
        newContactForm.clearErrors();
    }
}
票数 2
EN

Stack Overflow用户

发布于 2011-09-18 23:30:32

尝试在客户端使用javascript禁用输入字段。这对我很管用。正如joostschouten所说,你仍然需要绕过你的服务器端验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7357048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档