Alterar Propriedade de Campo MVC

Olá boa tarde,

É possível modificar a propriedade de obrigatoriedade do campo quando a tela já está ativa do cadastro ?

Por exemplo: Uma determinada tabela tem alguns campos obrigatórios, porém, são obrigatórios apenas para alguns tipos de cadastrados.

Eu gostaria de mudar o MODEL_FIELD_OBRIGAT para .F. após o preenchimento de determinado campo.

Grato.

Bom dia!

Acredito que não seja possível alterar a propriedade de um campo em tempo de execução. Nessas situações, geralmente eu crio uma validação ao confirmar o modelo. Exemplo:

O campo ZTC_ROTASP só é obrigatório se o campo ZTC_SUPER for igual a '2'.


Static Function fVldSave(oModel)
Local lRet        := .T.

    If(oModel:GetValue('FormZTC','ZTC_SUPER') == '2' .and. Empty(oModel:GetValue('FormZTC','ZTC_ROTASP')))

        lRet := .F.
        Help(,,'Preenchimento Incorreto',,'Foi informado que esta rota possui uma rota superior, mas não foi preenchido o código da rota superior.',1,0,,,,,,{'Verifique o cadastro e tente novamente.'})

    EndIf

Return(lRet)