Jsf 2 自定义验证器如何知道单击了哪个commandButton
我的表单有几个“提交”按钮, 一些字段的验证取决于按下哪个字段。Jsf 2 自定义验证器如何知道单击了哪个commandButton,jsf-2,primefaces,myfaces,Jsf 2,Primefaces,Myfaces,我的表单有几个“提交”按钮, 一些字段的验证取决于按下哪个字段。 如何在我的自定义验证器中找到它?对于JSF,会有内置的验证消息,在出错时会显示这些消息。或者您可以使用“validator&validatorMessages”之类的验证属性按钮的客户端ID也会生成为的名称。按下的的name=value也作为请求参数发送。所以您可以在请求参数映射中检查它 例如 您使用的是aspx还是php html?很抱歉不精确:我指的是自定义验证器。我将更新我问题的主题。 <h:form id="form
如何在我的自定义验证器中找到它?对于JSF,会有内置的验证消息,在出错时会显示这些消息。或者您可以使用“validator&validatorMessages”之类的验证属性按钮的客户端ID也会生成为
的名称。按下的
的name=value
也作为请求参数发送。所以您可以在请求参数映射中检查它
例如
您使用的是aspx还是php html?很抱歉不精确:我指的是自定义验证器。我将更新我问题的主题。
<h:form id="formId">
...
<h:commandButton id="button1" ... />
<h:commandButton id="button2" ... />
</h:form>
Map<String, String> params = context.getExternalContext().getRequestParameterMap();
if (params.containsKey("formId:button1")) {
// Button 1 is pressed.
}
else if (params.containsKey("formId:button2")) {
// Button 2 is pressed.
}