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