我有一个简单的 JSF 输入表单到编辑页面和验证器中,它检查重复值:

<td>Name</td>
<td>
    <h:outputText value="#{ud.name}"
                  rendered="#{not DCProfileTabGeneralController.editable}" />
    <h:inputText id="dcname" value="#{ud.name}" rendered="#{DCProfileTabGeneralController.editable}"
                 validator="#{ValidatorDatacenterController.validateDatacenterName}" autocomplete="off">
        <f:ajax event="blur" render="dcnamevalidator" />
    </h:inputText>
    <h:message id="dcnamevalidator" for="dcname" />
</td>

public void validateDatacenterName(FacesContext context, UIComponent component, Object value){
....
}

我感兴趣是否有任何可能的方法来发送将用于验证过程的第二个值?

最佳答案

<f:attribute> 浮现在脑海中。在输入文本中添加一个并在验证器中检索它。

<h:inputText id="dcname".....
<f:attribute name="param" value="myparam" />
</h:inputText>

和:
String param = (String) component.getAttributes().get("param");

可以从EL获取值。祝你好运

关于jsf - 如何在 JSF 验证器中传递第二个值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14695430/

10-16 17:07