Pergunta

Eu coloquei um validador de intervalo em um controle de caixa de texto ASP.NET na minha página da web; Sempre que o intervalo não está atendendo; Ele vai desativar a mensagem de erro,

Mas está se movendo para a próxima página. Como posso impedir que ele se mova para a próxima página após o clique do botão Enviar enquanto o intervalo não atendia?

Foi útil?

Solução

  • Verifique se o botão de envio está no mesmo ValidationGroup como seu validador de intervalo. Isso é particularmente verdadeiro se você tiver mais de um ValidationGroup definiram.

  • Verifique se a propriedade CausesValidation não está definido como falso no botão. o valor padrão é True Portanto, se a propriedade não for declarada em seu ASPX ou código atrás, o botão deverá disparar sua sequência de validação.

  • Se você não estiver usando o fluxo de página normal, (ou seja, seu botão tem a propriedade UseSubmitBehvior definido como False, ou em alguns casos, ao usar retornos de chamada de asych Ajax), então você deve envolver seu código de alteração de página em um If Bloco que verifica Page.IsValid antes de disparar.

  • Verifique se o ControlToValidate está definido como o controle correto e que ele não possui um valor padrão que passa a validação.

Outras dicas

Código?

Você está enviando diretamente para a próxima página, em vez de postar de volta à mesma página e redirecionar?

Você está redirecionando em Page_load, que ocorre antes da validação?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top