Validacion de Campo Callout

2005-06-29
2013-05-02
  • Fabian Aguilar
    Fabian Aguilar
    2005-06-29

    Bueno en todos los paises a cada ciudadano se le asigna un numero unico en su cedula de identidad, eso estoy tratando de validad, nose si alguien ya lo ah hecho, la validacion es diferente para cada pais, pero coimo capturar el evento y los datos debe ser la misma para compiere.

    yo cree una clase llamada CalloutBPartner
    con el metodo rut, que es llamado en el callout del campo Name2 de la tabla C_BPartner.

    public String rut (Properties ctx, int WindowNo, MTab mTab, MField mField, Object value)
    {
    if (isCalloutActive() || value == null)
    return "";
    setCalloutActive(true);
                  
    if (mField.getColumnName().equals("Name2")){
    String rut=(String)mTab.getValue("Name2");

    //aqui comienza la validacion
    //fin validacion
    }

    bueno la validacion la probe con la clase independiente y funciona bien,. pero el callout me falla, nose si la mejor forma de recibir un dato del tipo ######## - #  8 digitos y un identificador sea atrabes de un string "Name2" y recibiendo ai el dato, el callout me da problemas, por que yo escibo los datos, le doy enter al campo, borro, etc y solo en algunas ocaciones me da el mensaje "numero no valido" el resto de las veces pareciera que no afectan al metodo.
    en resumen

    estoy recibiendo bien el callout para la validacion?
    alguien ya ah validado este tipo de datos para su pais?

    si esto no funciona no queda mas que hacer un trigger en oracle que de alguna forma pueda retornar un mensaje.

    SALUDOS.

     
    •   Yo tuve una vez un problema similar.  Los callouts al parecer no se llaman si no se carga ningun valor en el campo.  No pude solucionar mi problema con un callout.

      Puede ser este tu caso?

      aa

       
    • belozoglu
      belozoglu
      2005-07-07

      Buenas tardes,

      Tal como comienzas el callout, cuando el campo est vacio no te aparecer el mensaje de error:

      if (isCalloutActive() || value == null)
      return "";

      Por otra parte asegurate de que desactivas el calloutActive al final de rut();
      tienes que tener setCalloutActive(false);

      Por lo dems no hay razn para que no te funcione.

      Suerte.

      Jose.

       
    • Fabian Aguilar
      Fabian Aguilar
      2005-07-14

      muchas gracias..ya solucione el problema