JSF - Ayuda con validacion en jsf , mostrar un panel usando primefaces?

 
Vista:
sin imagen de perfil
Val: 1
Ha mantenido su posición en JSF (en relación al último mes)
Gráfica de JSF

Ayuda con validacion en jsf , mostrar un panel usando primefaces?

Publicado por Root (1 intervención) el 20/11/2017 04:27:39
Hola, lo que estoy trantando de hacer es que al validar la edad que se ingresa a través del calendario, validar si es menor de edad requiere tutor y desplegar ese panel
ya obtengo la edad y hago lo siguiente pero no me muestra el panel del tutor

Este es mi bean

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
@ManagedBean(name = "datosPersonales")
@ViewScoped
public class DatosPersonales {
 
    private String nombre;
    private String apellido1;
    private String apellido2;
    private Date fechaNacimiento;
    public int edad;
    private boolean padresTutoresDiv;
    private boolean padreTutor;
    private boolean madreTutora;
 
    //metodo para obtener la edad 
    public void obtenerEdad(){
     edad = DateUtils.getYearsOld(fechaNacimiento);
     System.out.println("LA EDAD ES" +edad);
    padresTutoresDiv=(Boolean.FALSE);
 
    if(edad<18){
 
    padresTutoresDiv=(Boolean.TRUE);
 
    }
    if(padresTutoresDiv) {
	if(!(padreTutor||madreTutora))
       {//Si no hay ninguno activado
	  padreTutor=Boolean.TRUE;//Activa al menos uno por default
      }
   }
 
    }
 
 
       public String getNombre() {
        return nombre;
    }
 
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
 
    public String getApellido1() {
        return apellido1;
    }
 
    public void setApellido1(String apellido1) {
        this.apellido1 = apellido1;
    }
 
    public String getApellido2() {
        return apellido2;
    }
 
    public void setApellido2(String apellido2) {
        this.apellido2 = apellido2;
    }
 
    public Date getFechaNacimiento() {
        return fechaNacimiento;
    }
 
    public void setFechaNacimiento(Date fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }
 
    public int getEdad() {
        return edad;
    }
 
    public void setEdad(int edad) {
        this.edad = edad;
    }
 
    public boolean isPadresTutoresDiv() {
        return padresTutoresDiv;
    }
 
    public void setPadresTutoresDiv(boolean padresTutoresDiv) {
        this.padresTutoresDiv = padresTutoresDiv;
    }
 
    public boolean isPadreTutor() {
        return padreTutor;
    }
 
    public void setPadreTutor(boolean padreTutor) {
        this.padreTutor = padreTutor;
    }
 
    public boolean isMadreTutora() {
        return madreTutora;
    }
 
    public void setMadreTutor(boolean madreTutora) {
        this.madreTutora = madreTutora;
    }
 
}


y la vista, que cuando le des click en el boton aparezca el panel del tutor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<h:form>
    <br></br>
     <p:fieldset legend="DATOS "  toggleable="true" toggleSpeed="500">
        <h:outputText value="Nombre" />
        <p:inputText  required="true"
            value="#{datosPersonales.nombre}"
            onblur="javascript:this.value = this.value.toUpperCase();" />
        <h:outputText value="Apeliido 1" />
        <p:inputText  required="true"
            value="#{datosPersonales.apellido1}"
            onblur="javascript:this.value = this.value.toUpperCase();" />
 
        <h:outputText value="Apellido 1" />
        <p:inputText  required="true"
            value="#{datosPersonales.apellido2}"
            onblur="javascript:this.value = this.value.toUpperCase();" />
 
        <h:outputText value="Fecha de Nacimiento" />
        <p:calendar id="button" value="#{datosPersonales.fechaNacimiento}" showOn="button" />
     </p:fieldset>
    <br></br>
    <p:commandButton value="ENVIAR" id="ajax"  action="#{datosPersonales.obtenerEdad}" styleClass="ui-priority-primary" />
    <br></br>
    <br></br>
    <br></br>
<!--PANEL DEL TUTOR-->
    <p:outputPanel id="pnlTutores">
        <h:panelGrid width="100%" rendered="#{datosPersonales.padresTutoresDiv}">
             <h:panelGrid columns="3" >
                <h:outputText value="Padre o tutor 1" />
                <p:selectBooleanCheckbox id="checkPadreTutor" value="#{datosPersonales.padreTutor}">
 
                </p:selectBooleanCheckbox>
            </h:panelGrid>
            <p:fieldset legend="TUTOR 1" toggleable="true" toggleSpeed="500">
                <h:panelGrid columns="5" width="100%" >
                    <h:panelGrid columns="3" width="100%">
                        <!--CURP-->
                        <h:outputText value="CURP:*" />
                        <p:inputText id="datospersonalestutores_curp"  required="true" label="datospersonales_curp"
                        readonly="readonly" maxlength="18"  onblur="javascript:this.value = this.value.toUpperCase();"/>
                    </h:panelGrid>
                    <h:panelGrid columns="3" width="100%">
                        <!--NOMBRES-->
                        <h:outputText value="Nombre*" />
                        <p:inputText id="datospersonalestutores_nombre"  required="true" label="datospersonales_nombre"
                        readonly="readonly" onblur="javascript:this.value = this.value.toUpperCase();"/>
                    </h:panelGrid>
                    <h:panelGrid columns="3" width="100%">
                        <!--Primer Apelldo-->
                        <h:outputText value="Apellido*" />
                        <p:inputText id="datospersonalestutores_apellido" required="true" label="datospersonales_apellido"
                        readonly="readonly"  onblur="javascript:this.value = this.value.toUpperCase();"/>
                    </h:panelGrid>
                </h:panelGrid>
            </p:fieldset>
        </h:panelGrid>
    </p:outputPanel>
</h:form>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder