Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 未显示primefaces验证消息(复合组件、primefaces和验证方法)_Validation_Jsf 2 - Fatal编程技术网

Validation 未显示primefaces验证消息(复合组件、primefaces和验证方法)

Validation 未显示primefaces验证消息(复合组件、primefaces和验证方法),validation,jsf-2,Validation,Jsf 2,这是peticionario,一个要求您输入pin的复合组件。这不是强制性的,但如果您填写的内容必须是数字,应用程序将在数据库中查找,因此其他人没有相同的号码: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

这是peticionario,一个要求您输入pin的复合组件。这不是强制性的,但如果您填写的内容必须是数字,应用程序将在数据库中查找,因此其他人没有相同的号码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:cc="http://java.sun.com/jsf/composite"
xmlns:f="http://java.sun.com/jsf/core"      
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:dabit="http://java.sun.com/jsf/composite/components">

<cc:interface> 
    <cc:attribute name="peticionarioB" />
</cc:interface>

<cc:implementation>

<h:form id="peticionario_form">
<p:panel id="unooo">                
    <h:panelGrid columns="2" id="ohruiseñor">
    <f:facet name="header">
            <h:outputText value="Datos personales"/>
        </f:facet>                  

        <h:outputText value="Número de documento"/>
    <h:panelGroup>
        <h:inputText 
        id="numDoc"
    validator="#{radicadoOficioBean.validarPeticionario}"
    value="#{peticionarioBean.peticionario.numDocumento}">
        <f:validateLongRange/>
    </h:inputText> 
    <h:message for="peticionario_form:numDoc" style="color:red"/>
    </h:panelGroup>
    </h:panelGrid>
</p:panel>                            
</h:form>   
验证实际发生:),但我无法获取消息:(

仅以下一行就足够了:

throw new ValidatorException(new FacesMessage(
    FacesMessage.SEVERITY_ERROR, "ya existe un usuario con el numero de documento ingresado", null);

for=“numDoc”
代替
h:message中的
for=“peticionario\u form:numDoc”
怎么样?已经在那里了,完成了。没有乐趣:(mil-gracias,funcionó。(mil=1000,gracias=谢谢,funcionó=成功了)
public void validarPeticionario (FacesContext context, UIComponent component, Object value) {
if (value == null) {
    return;
}

Long l = new Long(value.toString());

if (DAOBase.findByUniqueLongProperty(Peticionario.class, "numDocumento", l) != null) {
    FacesMessage fm = new FacesMessage("ya existe un usuario con el numero de documento ingresado");
context.addMessage(component.getClientId(), fm);
fm.setSeverity(FacesMessage.SEVERITY_ERROR);
System.out.println(component.getClientId());
throw new ValidatorException(fm);
}       
}
<h:inputText id="numDoc" ... /> 
<h:message for="peticionario_form:numDoc" ... />
<h:inputText id="numDoc" ... /> 
<h:message for="numDoc" ... />
FacesMessage fm = new FacesMessage("ya existe un usuario con el numero de documento ingresado");
context.addMessage(component.getClientId(), fm);
fm.setSeverity(FacesMessage.SEVERITY_ERROR);
System.out.println(component.getClientId());
throw new ValidatorException(fm);
throw new ValidatorException(new FacesMessage(
    FacesMessage.SEVERITY_ERROR, "ya existe un usuario con el numero de documento ingresado", null);