Alterar Obrigatoriedade do Campo dinamicamente

Alguém saberia me dizer se tem como em um formulário ativar ou não o atributo de campo obrigatório? Por exemplo, dependendo do valor de uma variável, ativar a obrigatoriedade em uns campos e desativar em outro e vice-versa.

Grato.

Desabilite pode default na aplicação a obrigatoriedade:

evento onvalidate:

if ({campo}==0):
If (empty({cnpj})) {
sc_error_message(‘Campo CNPF obrigatório’);
}
endif;

Boa tarde Haroldo, obrigado pela resposta.

Creio que não fiz claro o suficiente. A validação eu faço da forma como mencionastes… Tudo ok.

Meu form tem vários campos que são exibidos ou não de acordo com o tipo de pessoa: Pessoa Física, Pessoa Jurídica ou MEI. Está tudo funcionando normalmente, inclusive valido a obrigatoriedade dos campos de acordo com o tipo de pessoa.

O que eu necessito é o seguinte: Quando marcamos um campo como obrigatório, o SC coloca aquele “" em vermelho e eu precisava fazer isso dinamicamente, ou seja, como for uma pessoa física, deixar o campo CPF obrigatório, com o "” e tudo.

Tornar obrigatório ou não de acordo com a variável tipo de pessoa (PF, PJ, MEI).

Mais uma vez, obrigado!

Apenas com SC não eh possível. Tem que investigar o código e ver como o sc marca o campo como obrigatório. Acredito que ao gerar os fontes o sc fixa isso dentro do código, não posso afirmar, as se o acesso também internamente controla isso por variaveis aí seria só trazer o mesmo código para o evento onload.

Eu entendi perfeitamente a sua dúvida é o jeito que sei eh esse, controlar na onvaludate ou onchnge do campo via micro de erro.

gutoribeiro tive uma necessidade parecida com a sua, resolvi da seguinte maneira:

metodo PHP:

if ({campo1} == ‘S’) // Mostra o campo
{
sc_field_display({campo2}, ‘on’);

}
else // Esconde campo
{
sc_field_display({campo2}, ‘off’);
{campo2} = ‘’; // deixa o campo vazio pois o {campo1} recebeu “N” ao invés de “S”
}

Chamei a função em um evento ajax.

depois criei outro método PHP e chamei no evento onvalidate:

if ({campo1} == ‘S’ && {campo2} == ‘null’)
{
{
sc_error_message(“Ano que concluiu o curso é Campo obrigatório”);
}
}

Estou com o mesmo problema, só que no meu caso recebo os parâmetros pela URL, sendo assim, este método sc_error_message não funciona.