Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

dianaemanuel

Validar campos numa ListView

Recommended Posts

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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
paulo silva

boas,

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

Cumprimentos Paulo Silva

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.