我的表单有几个“提交”按钮, 某些字段的验证取决于按下的是哪个字段。 我怎样才能在我的自定义验证器中找到它?
最佳答案
按钮的客户端 ID 也生成为 name
的 <input type="submit">
. name=value
按下 <input type="submit">
get 也作为请求参数发送。所以你可以在请求参数映射中检查它。
例如
<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.
}
关于jsf-2 - 自定义验证器如何知道单击了哪个命令按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10428899/