Hi Tomás, I didn't found the problem. The feedback panel get:

* Field 'rapidezAtencion' is required.
* Field 'explicacionClara' is required.
* Field 'resolucionProblema' is required.

just as expected...

On Tue, Oct 20, 2009 at 12:00 PM, Tomás Rossi <tro...@mecon.gov.ar> wrote:

> Sure, here's the markup (BTW, using Wicket 1.4.2):
>
> PanelEncuesta.html (means SurveyPanel):
>
> ...
> <body>
>
> <wicket:panel>
> <table class="GrillaOpciones">
>
> <tr>
>   <th></th>
>   <th><label>Muy Bueno</label></th>
>   <th><label>Bueno</label></th>
>   <th><label>Regular</label></th>
>   <th><label>Malo</label></th>
>   <th><label>Ns/Nc</label></th>
> </tr>
>
> <tr>
>   <wicket:container wicket:id="rapidezAtencion">
>   <td class="TextoItem"><label>Rapidez en la atención</label></td>
>   <td><input type="radio" wicket:id="rapidezAtencion0"/></td>
>   <td><input type="radio" wicket:id="rapidezAtencion1"/></td>
>   <td><input type="radio" wicket:id="rapidezAtencion2"/></td>
>   <td><input type="radio" wicket:id="rapidezAtencion3"/></td>
>   <td><input type="radio" wicket:id="rapidezAtencion4"/></td>
>   </wicket:container>
> </tr>
>
> <tr>
>   <wicket:container wicket:id="explicacionClara">
>   <td class="TextoItem"><label>Explicaciones claras</label></td>
>   <td><input type="radio" wicket:id="explicacionClara0"/></td>
>   <td><input type="radio" wicket:id="explicacionClara1"/></td>
>   <td><input type="radio" wicket:id="explicacionClara2"/></td>
>   <td><input type="radio" wicket:id="explicacionClara3"/></td>
>   <td><input type="radio" wicket:id="explicacionClara4"/></td>
>   </wicket:container>
> </tr>
>
> <tr>
>   <wicket:container  wicket:id="resolucionProblema">
>   <td class="TextoItem"><label>Resolución del problema</label></td>
>   <td><input type="radio" wicket:id="resolucionProblema0"/></td>
>   <td><input type="radio" wicket:id="resolucionProblema1"/></td>
>   <td><input type="radio" wicket:id="resolucionProblema2"/></td>
>   <td><input type="radio" wicket:id="resolucionProblema3"/></td>
>   <td><input type="radio" wicket:id="resolucionProblema4"/></td>
>   </wicket:container>
> </tr>
>
> </table>
> </wicket:panel>
>
> </body>
> ...
>
> PantallaEncuesta.html (means SurveyScreen):
> ...
> <div class="Sector">
>
> <h3>¿Cómo calificaría los siguientes aspectos de la atención telefónica de
> Informática?</h3>
> <div wicket:id="panelTelefonico">Acá va la encuesta de atención
> telefónica</div> <!-- Here goes the panel!! -->
>
> </div>
>
> <div class="Sector">
>
> <h3>¿Cómo calificaría los siguientes aspectos de la atención del personal
> de Informática?</h3>
> <div wicket:id="panelPersonal">Acá va la encuesta de atención
> personal</div> <!-- Here goes the panel!! -->
>
> </div>
> ...
>
> --
> Tom;
>
> Pedro Santos escribió:
>
>  Hi Tómas,
>> What the form component RadioButtonGenerico receive as id, the validation
>> message will use as label. The code should generate the outputs:
>> * Field 'rapidezAtencion' is required.
>> * Field 'explicacionClara' is required.
>>
>> your report output :
>>  <wicket:container  wicket:id="score">
>> is an generic markup or always the "score" id is placed on html? If so,
>> can
>> you send the panel html? what wicket version are you using?
>>
>> On Mon, Oct 19, 2009 at 5:56 PM, Tomás Rossi <tro...@mecon.gov.ar> wrote:
>>
>>
>>
>>> Here goes the java code...
>>>
>>> RadioButtonGenerico.java (means GenericRadioButton):
>>>
>>> public class RadioButtonGenerico<T> extends RadioGroup<T> {
>>>
>>>  private static final long serialVersionUID = -1725627853431547878L;
>>>
>>>  public RadioButtonGenerico(String id, List<String> opciones, IModel<T>
>>> modelo) {
>>>      super(id, modelo);
>>>
>>>      for (int i = 0; i < opciones.size(); i++) {
>>>          add(new Radio<Integer>(id + i, new Model<Integer>(i)));
>>>      }
>>>  }
>>> }
>>>
>>> PanelEncuesta.java (means SurveyPanel):
>>>
>>> public class PanelEncuesta extends FormComponentPanel<DatosEncuesta> {
>>>
>>>  private static final long serialVersionUID = -1545571698439481842L;
>>>
>>>  public PanelEncuesta(String id, IModel<DatosEncuesta> modelo) {
>>>      super(id, modelo);
>>>      add(new RadioButtonGenerico<DatosEncuesta>("rapidezAtencion",
>>>              DatosEncuesta.CALIFICACIONES,
>>>              new PropertyModel<DatosEncuesta>(modelo,
>>> "rapidezAtencion")).setRequired(true));
>>>
>>>      add(new RadioButtonGenerico<DatosEncuesta>("explicacionClara",
>>>              DatosEncuesta.CALIFICACIONES,
>>>              new PropertyModel<DatosEncuesta>(modelo,
>>> "explicacionClara")).setRequired(true));
>>>      add(new RadioButtonGenerico<DatosEncuesta>("resolucionProblema",
>>>              DatosEncuesta.CALIFICACIONES,
>>>              new PropertyModel<DatosEncuesta>(modelo,
>>> "resolucionProblema")).setRequired(true));             }
>>>
>>> }
>>>
>>> PantallaEncuesta.java: (means SurveyScreen):
>>>
>>> public class PantallaEncuesta extends WebPage {
>>>
>>>  public PantallaEncuesta() {
>>>      add(new FeedbackPanel("feedback"));
>>>      add(new FormEncuesta("formEncuesta"));
>>>  }
>>>
>>>  public static class FormEncuesta extends Form<DatosEncuesta> { // (Means
>>> SurveyForm)
>>>      private static final long serialVersionUID = 8582266005577827473L;
>>>
>>>      // Modelo para las respuestas respecto a la atención éfonica.
>>>      private final DatosEncuesta datosEncuestaTelefonico = new
>>> DatosEncuesta();
>>>      // Modelo para las respuestas respecto a la atención personal.
>>>      private final DatosEncuesta datosEncuestaPersonal = new
>>> DatosEncuesta();
>>>      // Modelo para los datos optativos de la encuesta.
>>>      private final DatosOptativos datosOptativos = new DatosOptativos();
>>>
>>>      private CaptchaImageResource captcha = new CaptchaImageResource();
>>>      private final ValueMap claveCaptcha = new ValueMap();
>>>
>>>      public FormEncuesta(String id) {
>>>          super(id);
>>>          ...
>>>          add(new PanelEncuesta("panelTelefonico",
>>>                  new Model<DatosEncuesta>(datosEncuestaTelefonico)));
>>>          add(new PanelEncuesta("panelPersonal",
>>>                  new Model<DatosEncuesta>(datosEncuestaPersonal)));
>>>          ...                 }
>>> ...
>>>
>>> Pedro Santos escribió:
>>>
>>>  Actually the panel wicket id is an parameter for panel constructor, can
>>>
>>>
>>>> you
>>>> some code?
>>>>
>>>> On Mon, Oct 19, 2009 at 5:07 PM, Tomás Rossi <tro...@mecon.gov.ar>
>>>> wrote:
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> Then I'm unable to use the properties file for tweaking the string in
>>>>> question.
>>>>>
>>>>> What is the beauty of panels if they don't prefix its internal ids
>>>>> automatically? Or am I getting it all wrong... :S
>>>>>
>>>>> Tom;
>>>>>
>>>>> Igor Vaynberg escribió:
>>>>>
>>>>>  call radiogroup.setlabel()
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> -igor
>>>>>>
>>>>>> On Mon, Oct 19, 2009 at 10:55 AM, Tomás Rossi <tro...@mecon.gov.ar>
>>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> We are building a simple survey with Wicket.
>>>>>>>
>>>>>>> Essentially, we have a lot of RadioGroup components repeated all over
>>>>>>> the
>>>>>>> main survey page. Those components are in fact the same thing (to
>>>>>>> score
>>>>>>> some
>>>>>>> item), but obviously, they reffer to different subjects/groups. For
>>>>>>> example:
>>>>>>>
>>>>>>> Are you happy with X?
>>>>>>>
>>>>>>> In doing job A: ( ) very happy
>>>>>>> ( ) not so much
>>>>>>> ( ) sucks
>>>>>>>
>>>>>>> In doing job B: ( ) very happy
>>>>>>> ( ) not so much
>>>>>>> ( ) sucks
>>>>>>>
>>>>>>> Are you happy with Y?
>>>>>>>
>>>>>>> In doing job A: ( ) very happy
>>>>>>> ( ) not so much
>>>>>>> ( ) sucks
>>>>>>>  ....
>>>>>>>
>>>>>>> So we decided to make a reusable component (a panel) for the score
>>>>>>> input,
>>>>>>> and repeat it as much as we needed.
>>>>>>>
>>>>>>> We also have our survey page with a feedback panel and a form. Inside
>>>>>>> that
>>>>>>> form we include the panel many times, one for each item. But the
>>>>>>> required-field-feedback shows the same wicket:id for a bunch of
>>>>>>> fields,
>>>>>>> which isn't what we want. We need a unique wicket:id for each
>>>>>>> instance
>>>>>>> of
>>>>>>> the score input.
>>>>>>>
>>>>>>> E.G.
>>>>>>>
>>>>>>> Our Panel is like this:
>>>>>>>
>>>>>>> ...
>>>>>>> <tr>
>>>>>>>  <wicket:container  wicket:id="score">
>>>>>>>  <td><input type="radio" wicket:id="optGood"/></td>
>>>>>>>  <td><input type="radio" wicket:id="optNotSoMuch"/></td>
>>>>>>>  <td><input type="radio" wicket:id="optSucks"/></td>
>>>>>>>  </wicket:container>
>>>>>>> </tr>
>>>>>>> ...
>>>>>>>
>>>>>>> And our feedback is like this:
>>>>>>>
>>>>>>> * Field 'score' is required.
>>>>>>> * Field 'score' is required.
>>>>>>> * Field 'score' is required.
>>>>>>> * Field 'score' is required.
>>>>>>>
>>>>>>> How can I solve this?
>>>>>>>
>>>>>>> Thanks
>>>>>>> Tom;
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


-- 
Pedro Henrique Oliveira dos Santos

Reply via email to