2011-09-09 58 views
1

我想问一下挂毯旁路验证5挂毯5 ByPass验证

在我的表单中我有一些字段需要验证。我有两个提交按钮。一个如果我点击做保存对象的验证。和其他不能确认的形式或绕过验证通过阿贾克斯(使用区域)

感谢的B4添加到明细对象

+0

你想绕过客户端验证,服务器端验证或两者? – joostschouten

+0

其实我看客户端验证。但是,如果你有解决方案,我也喜欢知道 – nathan21

回答

2

虽然我没有通过在t:form设置t:clientvalidation="false"使用客户端验证,我相信你可以用一个取消按钮如下绕过它旁边的提交按钮:

<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表示应该省略客户端验证(虽然服务器端验证仍然发生)”。所以你仍然需要停止服务器端验证。您可以这样做:

private boolean cancelCalled; 

void onSelectedFromSubmit() { 
    cancelCalled = false; 
}  

void onSelectedFromCancel() { 
    cancelCalled = true; 
} 

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

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