Si no puedes gobernarte a ti mismo... ¿cómo sabrás gobernar a los demás?
Confucio

Archivos en el mes de October del 2007

[Struts Validator] – Validaciones múltiples validwhen

Leo textualmente la guía de Struts Validator :

A few quick notes on the grammer.

  • All comparisons must be enclosed in parens.
  • Only two items may be joined with and or or
  • If both items to be compared are convertable to ints, a numeric comparison is done, otherwise a string comparison is done.

Atención a la segunda nota. Oh estúpido de mí, que entendía que únicamente se podían hacer validaciones del estilo

  • ( (a) and (b) )
  • ( (a) or (b) )

Pues esto no es cierto, porque aunque la guía no lo documenta, puedes concatenar recursivamente las veces que quieras, siempre cuidando de los paréntesis.

Por ejemplo, podemos sustituir "(a)" en las expresiones anteriores por "( (c) or (d) )", y así recursivamente hasta montar validaciones como:

 

<field property="bioseguridad.justificacionABCD" depends="validwhen">

      <arg0 key="bioseguridad.justificacionABDC" />

      <var>

            <var-name>test</var-name>

            <var-value>

(

      (

            (

                  (bioseguridad.experimentacionSeresHumanos != "1")

                  or

                  (*this* != null)

            )

            and

            (

                  (bioseguridad.utilizacionCelulasEmbrionarias != "1")

                  or

                  (*this* != null)

            )

      )

      and

      (

            (

                  (bioseguridad.utilizacionTejidosHumanos != "1")

                  or

                  (*this* != null)

            )

            and

            (

                  (bioseguridad.utilizacionDatosPersonales != "1")

                  or

                  (*this* != null)

            )

      )

)

            </var-value>

      </var>

</field>

 

Lo que le da al validwhen una potencia bastante mayor de la que yo utilizaba. 

[tags]struts, struts validator[/tags]

[Struts Validator] – Mensajes con argumentos

Cuando una validación no pasa, Struts Validator pinta un mensaje que le puedes acompañar con los argumentos que quieras.

En una validación validwhen, yo quería que me saltase el mensaje típico cuando no pase la validación. Pero el nombre del campo era variable, tenía cuatro campos de justificación de distintos campos:

 

bioseguridad.justificacion.respuesta=Justifique su Respuesta al apartado {0}

Y el argumento que le pasas diferencia los campos justificación entre sí.

Pero en el validation.xml, tenía un mensaje (errors.required) que tenía un argumento (bioseguridad.justificación.respuesta) que tenía también un argumento (el campo justificación al que correspondía)… y no sabía cómo implementarlo.

Gracias a José Daniel (en la guía del Struts Validator también viene), encontré la respuesta.

Al fallar una validación, se presenta un mensaje. Por defecto, cada tipo de validación tiene un mensaje asociado, pero lo puedes cambiar:

 

<field property="bioseguridad.justificacionH" depends="validwhen, maxlength">

      <msg name="validwhen" key="bioseguridad.justificacion.respuesta" />

      <arg0 key="bioseguridad.liberacionOMGs"/>

      <var>

            <var-name>test</var-name>

            <var-value>((bioseguridad.liberacionOMGs != "1") or (*this* != null))</var-value>

      </var>

      <arg2 name="maxlength" key="${var:maxlength}" resource="false"/>

      <var><var-name>maxlength</var-name><var-value>3500</var-value></var>

</field>

[tags]struts, struts validator[/tags]

Chiste de Dilbert

No me gusta escribir post que sólo son enlaces a otros sitios, pero… un chiste que me parece muy acertado, causa de un alto porcentaje de mi encabronamiento laboral.

Lycka está superfeliz

Lycka está superfeliz!

En Marbella, luchando contra su enemiga la rama:

YouTube Preview Image

En Madrid, encontró al plumero

YouTube Preview Image

Está superfeliz aquí en Madrid, requetemimosa y jugetona…

Despierta!, Piensa!

El ministerio de no-sé-qué nos dice "Despierta!, Desayuna!".

Yo propongo cambiar el lema por "Despierta!, Piensa!" porque nada más despertarte el mundo te intenta idiotizar con noticias absurdas.

Resulta que hay un tío en Barcelona, que una noche en el metro le dio dos guantazos a una menor ecuatoriana sin venir a cuento. La noticia se ha repetido hasta la náusea en todos los medios.

Dos cosas tengo que decir al respecto.

Primera, se ha elevado a alarma internacional (la Ministra de Exteriores de Ecuador quejándose de que somos unos racistas…. ) este hecho (dos guantazos!!!), y ayer murió un chaval de 23 años por recibir un navajazo por defender a una chica de un agresor.

Recuerdo que cuando llegué a Madrid había una banda de skin-heads que rondó varios años por Moncloa, Argüelles, Universitaria y Metropolitano, dando palizas, robando… yo ví a un mendigo (vivo) abandonado a la puerta del metro quemado. Vivimos en uno de los pocos países civilizados y democratizados que tiene una banda terrorista operativa, nuestros políticos son unos incompetentes corruptos, hay la gente se forra a costa de un bien de primera necesidad protegido por la constitución como es la vivienda.

Por dios, condeno el hecho de dar dos guantazos a cualquiera, pero eso pasa todas las noches en todas las ciudades de este país, y las víctimas de cualuqier sexo, edad y lugar de nacimiento. Y ahora parece que ese imbécil es el más peligroso para la sociedad, y que no tiene derecho ni andar por la calle ni respirar. Mucha mayor condena merecen las personas que estaban presentes y no hicieron nada. Desde aquí mando mi más despreciable "Cobardes!".

Segunda, luego os preguntaréis porqué nuestro país es racista y machista. Yo en ese video no veo un acto de racismo ni de machismo, veo actos de cobardía de la gente del vagón y de un imbécil que no se hubiese atrevido conmigo, no por ser varón raza blanca treintaañero, sino por la sarta hostias que se hubiese llevado.

Si pegas a una mujer eres machista y es malo, pero si pegas a un niñato tirillas no? Si pegas a un extranjero eres un racista y si pegas a un pucelano no ? Si pegas a una menor… Es un acto de machismo cuando la razón es que sea una mujer, es un acto de racismo cuando la razón es la raza y eres un degenerado cuando le haces algo a un menor cuando la razón es que sea menor.

Si la víctima hubiese sido un niño pijo de Toledo… se hubiese montado este pifostio ? 

Despierta!, Piensa! 

Comenta