Boa tarde, vi em alguns posts aqui no forum que a maneira de validar em tempo de execução é:
- evento ajax onchange
- lookup no campo
- sc_error_message seguido de sc_error_exit
Pois bem, a validação em tempo de execução tá funcionando como deveria, porem também é necessário que tenha uma validação final para que o formulário não insira ou atualize o registro se o campo ja existir no banco, fiz da seguinte maneira no evento onvalidadesuccess:
if (sc_btn_update)
{
sc_lookup (rs,"SELECT descricao_modelo FROM tipo_modelo WHERE descricao_modelo='".{descricao_modelo}."' AND tipomodeloid <> '".{tipomodeloid}."' ", "conn_mysql");//faz a busca no BD e desconsidera ele mesmo
if (!(empty({rs[0][0]})))
{
sc_error_message("O Nome do modelo <br> ".{rs[0][0]}."<br> já esta cadastrada.");
sc_error_exit();
}
}
ao clicar no salvar que no exemplo acima é um edit o formulário me retorna o erro informando que o nome do modelo xxxxxx já esta cadastrada, o problema ocorre após esse erro, pois se eu for no formulário e alterar o campo descricao_modelo inserindo outro valor (mesmo não existindo no BD esse novo valor) o formulário meio que fica travado os valores do campo descricao_modelo com o mesmo valor que deu no primeiro erro, sempre fica exibindo o mesmo alerta informando nome do modelo xxxxxx já esta cadastrada ao invés de refazer a verificação com o novo valor informado.
enfim o que gostaria de saber é como posso informar que após o erro o campo descricao_modelo seja recarregado sem valor impedindo assim a recorrência dessa mensagem.
tentei colocar dentro do if e antes do sc_error_message {descricao_modelo}=""; mesmo assim não limpa o valor do campo, alguem poderia indicar o que estou fazendo de errado.