2

我的表单有几个“提交”按钮,并且某些字段的验证取决于按下了哪个。如何在我的自定义验证器中找到它?

4

2 回答 2

6

按钮的客户端 ID 也name<input type="submit">. name=value按下的get<input type="submit">也作为请求参数发送。所以你可以在请求参数映射中检查。

例如

<h:form id="formId">
    ...
    <h:commandButton id="button1" ... />
    <h:commandButton id="button2" ... />
</h:form>

在实施中具有以下内容validate()

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.
}
于 2012-05-03T14:12:36.067 回答
0

对于 JSF,将在错误期间显示内置的验证消息。或者您可以在它们各自的标签中的 primefaces 中使用“validator & validatorMessages”等验证属性。

于 2012-05-03T11:29:30.793 回答