Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

dianaemanuel

Validar campos numa ListView

Mensagens Recomendadas

dianaemanuel

Bom dia,

Eu tenho uma ListView com ligação a uma base de dados, com um botão inserir da própria listview.

E o que eu pretendia era que depois de o utilizador preencher as caixas de texto que estão na ListView, quando dessse um click no botão inserir queria que validasse as caixas de texto.

Por exemplo:

-> Um campo da tabela que é só pa inserir datas - se o utlizador colocar letras queria que mostrasse uma mensagem de erro a dizer que naquele campo só pode inserir data;

-> ou então inserir uma data tipo 130510 - e ele formatasse logo este número para o formato data 13-05-2010.

Isto foi um exemplo só para o campo tipo data, mas também queria para os campos do tipo int32 e decimal.

Os campos da base de dados já estão no tipo de dados correcto, e se inserir valores que não correspondem ao tipo do campo, é mostrada uma página de erro da base de dados, mas não era isso que eu pretendia, queria mesmo que mostrasse uma MsgBox a dizer que os dados não são válidos.

Eu estou a desenvolver uma página web e estpu a trabalhar com webforms na linguagem c#.

Gostaria de saber se isto é possivel fazer e em que evento da ListView.

Fico á espera.

Cumprimentos

dianaemanuel

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dianaemanuel

Olá novamente,

Já consegui fazer uma parte do que pretendia, aqui vai o código (este código está no source da página web):

<asp:TextBox ID="NomeEmpresaTextBox" runat="server" 
                            Text='<%# Bind("NomeEmpresa") %>'  ValidationGroup="edit"/>
                        <asp:RequiredFieldValidator ID="NomeEmpresaValidator" runat="server" ControlToValidate="NomeEmpresaTextBox" 
                            ErrorMessage="<div>O Nome da Empresa não pode estar vazio</div>" SetFocusOnError="true" 
                            Display="Dynamic" ValidationGroup="edit" />    

<asp:Button ID="UpdateButton" runat="server" CommandName="Update" 
                            Text="Update"  ValidationGroup="edit" />

Agora o que me fica a faltar é a parte da formatação.

Cumprimentos

dianaemanuel

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Boas,

Exactamente, Tens os validators que os podes usar em muito bem o que quiseres, Mesmo validar periodos de datas, Numeros, Expressões, depois adiccionas um validate group , para os validators ficarem associados a um só botão.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dianaemanuel

Bom dia,

Sim, também já encontrei sobre isso mas não estou a conseguir com que ele valide as datas e números do tipo decimal.

Já utilizei o seguinte código, mas não está a funcionar:

<asp:CustomValidator ID="cvFrom_Date" runat="server" ErrorMessage="Data e Hora Inválida" ControlToValidate="From_DateTextBox" 
                                    OnServerValidate="ValidateDate"  ValidationExpression="^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$">A Data precisa de ir no formato dd/MM/yyyy />

Este código não funciona dá me erro...já fiz várias pesquisas para validar datas através deste código e encontro quase tudo igual, mas não sei porque a mim dá me erro.

Cumprimentos

dianaemanuel

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Boas,

Para datas e Decimais basta o RangeValidator lá defines a data máxima e mínima que pode ser incluída e ele já te valida o tipo data e o mesmo para os decimais.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dianaemanuel

Posso fazer assim?

<asp:RangeValidator ID="RVdata" runat="server" ErrorMessage="Apresente uma data válida"
                            MaximumValue="31-12-9999" MinimumValue="01-01-1900" ControlToValidate="DataTextBox" ValidationGroup="edit"/>

cumprimentos

dianaemanuel

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

boas,

exactamente não sei é se essa data final vai ser aceite, mas se for pode ser assim.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.