Ir para o conteúdo

 Voltar a Fórum do For...
Tela cheia

Problema nas funções fwSetRequired e fwSetNotRequired

26 de Dezembro de 2012, 18:48 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 3 vezes

Boa noite,

Eu estava tentando utilizar as funções fwSetRequired e fwSetNotRequired, pois em determinada situação o campo é obrigatório e na outra não. Mas quando eu utilizava essas funções para mudar a obrigatoriedade do campo, na função fwValidateForm ele não reconhecia o campo como obrigatório. Verificando o funcionamento da função fwValidateForm descobri que ela utiliza o atributo needed e nas funções fwSetRequired e fwSetNotRequired está sendo atribuído o valor true ou false ao atributo required. Por este motivo que a função fwValidateForm não entendia que o campo era obrigatório. Segue abaixo as novas funções com a correção e se possível acrescentem a nova release.

 

OBS: As alterações estão marcadas com o fundo vermelho. 

Att.

Eduardo Cajueiro

//------------------------------------------------------------------------------

/**

* Função para tornar campos obrigatório via js

* ex:

* fwSetRequired('des_nivel') => tornar des_nivel obrigatório

* fwSetRequired('des_nivel,des_obs') => tornar des_nivel e des_obs obrigatório

*/

function fwSetRequired(fields)

{

if( fields )

{

try

{

var aFields = fields.split(',');

if(aFields.length > 1)

{

for(var p in aFields)

{

var e = jQuery('#'+aFields[p]);

e.attr('needed', 'true');

                if (e.type == 'radio')

                {

                    jQuery('#'+aFields[p]+'_label_area').attr('needed', 'true');

                }

if( REQUIRED_FIELD_MARK)

{

jQuery('#'+aFields[p]+'_label_required').html(REQUIRED_FIELD_MARK);

}

else

{

//e.addClass("fwField fwFieldRequired");

jQuery('#'+aFields[p]+'_label_area').addClass("fwField fwFieldRequired");

}

}

}

else

{

var e = jQuery('#'+aFields[0]);

e.attr('needed', 'true');

            if (e.type == 'radio')

            {

                jQuery('#'+aFields[0]+'_label_area').attr('needed', 'true');

            }

if( REQUIRED_FIELD_MARK)

{

jQuery('#'+aFields[0]+'_label_required').html(REQUIRED_FIELD_MARK);

}

else

{

//e.addClass("fwField fwFieldRequired");

jQuery('#'+aFields[0]+'_label_area').addClass("fwField fwFieldRequired");

}

}

}

catch(e){}

}

}

/**

* Função para tornar campos obrigatório via js

* ex:

* fwSetNotRequired('des_nivel') => tornar des_nivel obrigatório

* fwSetNotRequired('des_nivel,des_obs') => tornar des_nivel e des_obs

* obrigatório

*/

function fwSetNotRequired(fields)

{

if(fields)

{

try

{

   var aFields = fields.split(',');

   if(aFields.length > 1)

   {

for(var p in aFields)

{

fwSetBordaCampo(jQuery('#'+aFields[p]),false);

var e=jQuery('#'+aFields[p]);

e.attr('needed', 'false');

                if (e.type == 'radio')

                {

                    jQuery('#'+aFields[p]+'_label_area').attr('needed', 'false');

                }

if( REQUIRED_FIELD_MARK )

{

jQuery('#'+aFields[p]+'_label_required').html('');

}

else

{

//jQuery('#'+aFields[p]).removeClass("fwFieldRequired");

jQuery('#'+aFields[p]+'_label_area').removeClass("fwFieldRequired");

}

}

   }

   else

   {

fwSetBordaCampo(jQuery('#'+aFields[0]),false);

var e = jQuery('#'+aFields[0]);

e.attr('needed', 'false');

            if (e.type == 'radio')

            {

                jQuery('#'+aFields[0]+'_label_area').attr('needed', 'true');

            }

if( REQUIRED_FIELD_MARK )

{

jQuery('#'+aFields[0]+'_label_required').html('');

}

else

{

jQuery('#'+aFields[0]).removeClass("fwFieldRequired");

jQuery('#'+aFields[0]+'_label').removeClass("fwFieldRequired");

}

   }

}

catch(e){}

}

}

 

Autor: Eduardo Cajueiro


22 comentários

  • 46341e312d924239404ac442f5c43ed3?only path=false&size=50&d=404Eduardo Cajueiro(usuário não autenticado)
    27 de Dezembro de 2012, 10:24

     

    Eu encontrei um erro na função fwSetNotRequired, segue abaixo a versão corrigida:

    /**

    * Função para tornar campos obrigatório via js

    * ex:

    * fwSetNotRequired('des_nivel') => tornar des_nivel obrigatório

    * fwSetNotRequired('des_nivel,des_obs') => tornar des_nivel e des_obs

    * obrigatório

    */

    function fwSetNotRequired(fields)

    {

    if(fields)

    {

    try

    {

       var aFields = fields.split(',');

       if(aFields.length > 1)

       {

    for(var p in aFields)

    {

    fwSetBordaCampo(jQuery('#'+aFields[p]),false);

    var e=jQuery('#'+aFields[p]);

    e.attr('needed', 'false');

                    if (e.type == 'radio')

                    {

                        jQuery('#'+aFields[p]+'_label_area').attr('needed', 'false');

                    }

    if( REQUIRED_FIELD_MARK )

    {

    jQuery('#'+aFields[p]+'_label_required').html('');

    }

    else

    {

    //jQuery('#'+aFields[p]).removeClass("fwFieldRequired");

    jQuery('#'+aFields[p]+'_label_area').removeClass("fwFieldRequired");

    }

    }

       }

       else

       {

    fwSetBordaCampo(jQuery('#'+aFields[0]),false);

    var e = jQuery('#'+aFields[0]);

    e.attr('needed', 'false');

                if (e.type == 'radio')

                {

                    jQuery('#'+aFields[0]+'_label_area').attr('needed', 'false');

                }

    if( REQUIRED_FIELD_MARK )

    {

    jQuery('#'+aFields[0]+'_label_required').html('');

    }

    else

    {

    //jQuery('#'+aFields[0]).removeClass("fwFieldRequired");

    jQuery('#'+aFields[0]+'_label_area').removeClass("fwFieldRequired");

    }

       }

    }

    catch(e){}

    }

    }

     

    • 51b06d6eae66e2cfdfc361d418eea715?only path=false&size=50&d=404Luis Eugênio barbosa(usuário não autenticado)
      28 de Dezembro de 2012, 22:12

       

      Legal Eduardo,

      ja coloquei no CVS, mas ainda não consegui fazer o upload do codigo fonte atualizado. Parece que está com problema no portal para fazer o upload.

      Abraço.

Essa comunidade não possui posts nesse blog