Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou tentando fazer validação de data em meu código ASP e não consigo. Tentei usar a função isdate() mas parece que o ASP não aceita.
Segue abaixo o código (a dúvida está em negrito)
>
<%
dim conexao
dim consulta
dim cod_inc
dim descricao
dim data
dim vhd80
dim vhd120
dim vmonitorlg
dim vmonitorsan
dim vmemoria
dim vimpressorahp
dim vimpresdsoraepson
dim cartucho
dim estabilizador
dim placa
dim processador
Set conexao = Server.CreateObject("ADODB.Connection")
Set consulta = Server.CreateObject("ADODB.Recordset")
conexao.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\Projeto_Final_II\gerinc2.mdb"
codigo = request.Form ("codincidente")
descricao = request.Form ("descricao")
data = request.Form ("data")
vhd80 = request.Form ("hd80gb")
vhd120 = request.Form ("hd120gb")
vmonitorlg = request.Form ("monitorlg17")
vmonitorsan = request.Form ("monitorsamsung17")
vmemoria = request.Form ("memoria256mb")
vimpressorahp = request.Form ("impressoahp")
vimpresdsoraepson = request.Form ("impressoaepson")
vcartucho = request.Form ("cartuchoimpressorahp")
vestabilizador = request.Form ("estabilizador")
vplaca = request.Form ("placamaeintel")
vprocessador = request.Form ("processadorintel")
if codigo = "" then
response.write"Código Em Branco!!!! Volte e insira os dados corretamente!!!!"
else
if descricao = "" then
response.Write"Descrição Em Branco!!!! Volte e insira os dados corretamente!!!!"
else
if data = "" then
response.Write"Data Em Branco!!!! Volte e insira os dados corretamente!!!!"
else
if not isdate(data) then
response.Write"Data inválida"
else
if vhd80 = "" and vhd120 = "" and vmonitorlg = "" and vmonitorsan = "" and vmemoria = "" and vimpressorahp = "" and vimpresdsoraepson = "" and vcartucho = "" and vestabilizador = "" and vplaca = "" and vprocessador = "" then
response.Write"Você esqueceu de escolher e/ou digitar a quantidade do(s) equipamento(s) ligados ao incidente!!!"
else
consulta.Open "select * from incidente where codinc='" & request.Form ("codincidente") & "'", conexao
if consulta.EOF then
conexao.Execute "INSERT INTO incidente(codinc,descricao,data,hd80gb,HD_120B,Monitor_LG_17,Monitor_Sansung_17,
Memoria_256MB,Impressora_HP,Impressora_Epson,Cartucho_Impressora_HP,Estabilizado
r,Placa_Mae_Intel,Processador_Intel) VALUES ('"&codigo&"','"&descricao&"','"&data&"','"&vhd80&"','"&vhd120&"','"&vmonitorlg&"','"&vmonitorsan&"','"&vmemoria&"','"&vimpressorahp&"','"&vimpresdsoraepson&"','"&cartucho&"','"&estabilizador&"','"&placa&"', '"&processador&"')"
response.Write"Cadastro feito com sucesso!!!!"
else response.Write ("Este código de incidente ja existe!!! Crie outro!!!")
end if
end if
end if
end if
end if
%>
>
cara tudo certo...da uma "bizoiada".
<%data = "casa"data01 = "23/12/1988"if not isdate(data) then response.Write (data & " - Data inválida")else response.Write (data & " - Data válida.")end ifResponse.Write("<br />")if not isdate(data01) then response.Write (data01 & " - Data inválida")else response.Write (data01 &" - Data válida.")end if%>
pedradegelo,Agora fiquei curioso. Também sugeriria o que você sugeriu para validar a data mas veja o exemplo abaixo:<%data01 = "23/12"if not isdate(data01) then response.Write (data01 & " - Data inválida")else response.Write (data01 &" - Data válida.")end if%>Mesmo a data01 = "23/13" ele retorna Data Válida. Estou pensando em como contronar este problema.Normalmente faço a consistência em Javascript na hora da digitação do campo o que garante que a data estará correta na hora da gravação.Vou dar um estuda e verei como é possivel executar uma consistência de data no asp.T+
<% If Len(data01) < 10 Then Response.Write("data inválida")Else if not isdate(data01) then response.Write (data01 & " - Data inválida")else response.Write (data01 &" - Data válida.")end ifEnd If %>
Abraços!
PS: 10no caso seria data completa contando as "/" e os dias emês com 2 números.. você pode fazer uma verificação setiver 1 ou 2 dígitos no mês e dia...
Abraços!
>
<% If Len(data01) < 10 Then Response.Write("data inválida")Else if not isdate(data01) then response.Write (data01 & " - Data inválida")else response.Write (data01 &" - Data válida.")end ifEnd If %>Abraços!PS: 10no caso seria data completa contando as "/" e os dias emês com 2 números.. você pode fazer uma verificação setiver 1 ou 2 dígitos no mês e dia...Abraços!
>
<% If Len(data01) < 10 Then Response.Write("data inválida")Else if not isdate(data01) then response.Write (data01 & " - Data inválida")else response.Write (data01 &" - Data válida.")end ifEnd If %>Abraços!PS: 10no caso seria data completa contando as "/" e os dias emês com 2 números.. você pode fazer uma verificação setiver 1 ou 2 dígitos no mês e dia...Abraços!
Só complentado! E se minha data01 = "01/12/0000" vai dar data correta.Por isso acho q você deveria consistir o len e depois o dia, mes e ano.t+
cara tudo certo...da uma "bizoiada".
<%data = "casa"data01 = "23/12/1988"if not isdate(data) then response.Write (data & " - Data inválida")else response.Write (data & " - Data válida.")end ifResponse.Write("<br />")if not isdate(data01) then response.Write (data01 & " - Data inválida")else response.Write (data01 &" - Data válida.")end if%>