Mensagem de erro

Olá pessoal,

Tenho uma dúvida de muito tempo que não sei como resolver.

Quando tenho uma mensagem de erro do formulário, seja por campo obrigatório ou qualquer mensagem impressa pelo sc_error_message(), por padrão ela é impressa exatamente no centro da tela. Até ai tudo legal, porém, se essa mensagem for proveniente de um detalhe, ela vai ser impressa no centro do iframe. Isso já se torna problemático, pois tenho varias aplicações, que tenho por exemplo, 1000px de altura para o detalhe, assim como nas aplicações de aba.

Existe uma forma de configurar essa mensagem para aparecer no topo do iframe?

Eriton, já tive o mesmo problema, e concordo que a netmake tem que aprimorar a forma de exibir as mensagem de erro ou validações.

Para resolver esse problema eu usei o Alert do java script, não foi a melhor solução, e tive muito trabalho, mais fica a dica…

echo "";

É uma saída Regis, mas ou eu mudo tudo no sistema ou então fico com o sistema todo fora de padrão.

Lamentável isso. Algo que deveria ser simples de resolver.

Se definir o padrão das mensagens de erro para centralizar no _parent resolveria o problema. (Eu acho)

sc_ajax_message(“Mensagem”, “Título”, “Parâmetro”, “Parâmetros_Redir”)

Esta macro permite que a aplicação exiba mensagens customizáveis, com seu uso restrito aos eventos do formulário/controle quando se faz uso no eventos AJAX.

Esta macro só é valida em aplicações com suporte a AJAX.

Paramêtros Descrição
Mensagem Texto que será exibido no corpo da mensagem. Este parametro é de preenchimento obrigatório.
Título Texto que será exibido no título da mensagem. Se não preenchido o título da mensagem não será exibido.
String de Parametros da mensagem
Parâmetro de formatação da mensagem.
Ex.: modal=Y&button=Y&button_label=Ok&redir=form_employees.php&redir_target=_blank

Os detalhes deste parâmetro estão detalhados na tabela2.

String de parametros do Redirecionamento
Nesta propriedade podem ser definidos os valores para a aplicação de redirecionamento.Esta propriedade funciona apenas se a propriedade redir for informada. Os parametros devem ser informados no seguinte formato: parametro=valor;parametro=valor.

Ex.: customer_id=ALFKI;customer_name=ALBERT FRANCINET

Tabela2: String de Parâmetros da mensagem

Propriedade Descrição Valores Exemplo
modal Flag para exibição da mensagem em modal Y ou N modal=Y
timeout Tempo em segundos para esconder mensagem. Se não informado mensagem será exibida indefinidamente. Esta propriedade só funciona se a propriedade button não estiver habilitada. Segundos timeout=5
button Exibe botão dentro da mensagem. O seu funcionamento padrão é fechar a mensagem. Caso seja habilitado o redirecionamento, após fechar a mensagem a aplicação será redirecionada. Y ou N button=Y
button_label Label do botão. Esta opção só funciona caso a propriedade button habilidata String button=Y&button_label=OK
top Valor para posicionamento da mensagem em pixels Apenas numeros top=300
left Valor para posicionamento da mensagem em pixels Apenas numeros left=200
width Valor para largura da mensagem em pixels Apenas numeros width=320
height Valor da altura da mensagem em pixels Apenas numeros height=30

redir Nome da aplicações ou URL para redirecionamento. Esta propriedade funciona apenas caso a propriedade button esteja habilitada. String button=Y&redir=form_employees.php
redir_target Target para url de redicionamento. Esta propriedade funciona apenas quando a propriedade redir está habilitada. String redir=form_employees.php&redir_target=_blank
show_close Flag para exibição do botão de fechar mensagem localizado na barra de titulo. Esta propriedade quando ativa força a exibição da barra de titulo mesmo que o parametro titulo esteja vazio. Y ou N show_close=Y
body_icon Flag para exibição do icone do corpo da mensagem. Mesmo quando esta propriedade está ativa a exibição do icone depende da configuração do Tema (Esquema de exibição) usado na aplicação. Y ou N body_icon=N

Ex. 01

sc_ajax_message (“Message”, “Title”, “timeout=0”);

Escopo da Macro

Formulario Formulario Controle
ajaxFieldonBlur
ajaxFieldonChange
ajaxFieldonClick
ajaxFieldonFocus
onAfterDelete
onAfterDeleteAll
onAfterUpdate
onAfterUpdateAll
onNavigate
onValidate
onValidateFailure
onValidateSuccess ajaxFieldonBlur
ajaxFieldonChange
ajaxFieldonClick
ajaxFieldonFocus

Haroldo,

Desculpa, as eu acho que não consegui acompanhar seu raciocínio.

Não entendi de que maneira o sc_ajax_message() poderia solucionar esse problema.

Se puder ser mais específico ficaria grato.

posicionando a mensagem, se seu iframe tem 800x600, use left = 350, top 250, que sua mensagem vai aparecer posicionada de forma visível sempre.

Entendi,

Mas eu teria que dar um die; no código para parar a execução ne? pois o ajax_message não interrompe como o error_message.

Ou seria outro comando?

$_teste=sc_ajax_message ("Executar o Método PHP?<br><button onclick='do_ajax_iw_exemplos_ajax_confirma_event_btok_onclick();_scAjaxMessageBtnClose(); return false'>Sim</button><Button onclick='_scAjaxMessageBtnClose(); return false'>Não</button><Br><small>Esta janela se fechará em 10 segundos</small>", "Atenção", "top=1px&left=1px&timeout=10&show_close=N"); sc_error_message($_teste);