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

aesp

[ASP.NET] Jquery validate Unobtrusive

Mensagens Recomendadas

aesp    3
aesp

Boas noites,

Tenho o seguinte problema, num form tenho um date time picker onde posso seleccionar uma data, essa mesmo campo é read-only, mas não sei porquê ao seleccionar algumas datas o jquery validation detecta-as como datas inválidas.

Existe alguma forma de resolver isto ou é algum bug relacionado com o jquery validation?

Obrigado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

Que datas dão erro?

Pode estar relacionado com o formato da data?

Por exemplo, se o formato tiver MM-DD-YYYY, a data 13-01-2012 que é hoje dá erro.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
aesp    3
aesp

Que datas dão erro?

Pode estar relacionado com o formato da data?

Por exemplo, se o formato tiver MM-DD-YYYY, a data 13-01-2012 que é hoje dá erro.

Olá bruno, relativamente ao formato sim está da seguinte forma:

    $(".date").datepicker({ dateFormat: "dd-mm-yy", minDate: 0 });

Obrigado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
aesp    3
aesp

Não sei onde posso ver isso especificamente, mas de qualquer forma dei uma olhadela no Webconfig e o que tenho lá é "Culture=neutral".

Ah e já quase me esquecia estou a utilizar ASP.NET MVC 3.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
aesp    3
aesp

Olá bruno, desculpa lá só responder agora. Estive a ver o link que referis-te mas penso que aquele exemplo aplicasse a Windows Forms, e o que eu preciso é para ASP.NET MVC.

Obrigado.  :thumbsup:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
aesp    3
aesp

Está no link que te dei:

Thread.CurrentThread.CurrentCulture;

É só veres o valor que essa propriedade tem.

Ah ok, não tinha percebido com o exemplo do MDSN  :thumbsup:

Ele está a retornar o valor {pt-PT}.

Obrigado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
aesp    3
aesp

Sim ao digitar os valores manualmente  nem chega a fazer qualquer tipo de validação, porque meti uma data inválida e ele não apresenta nenhum erro.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
aesp    3
aesp

Vou dar uma olhadela.  :thumbsup:

Edit: Existe alguma forma de desabilitar a validação só para o campo de data? É que à partida seria um campo read-only com o datetime picker portanto o utilizador irá sempre inserir uma data valida.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

Sim, se tirares a data da tua classe e a colocares apenas como input do método do Controller.

Mas é estranho estares a ter problemas com a validação da data, não é habitual.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
aesp    3
aesp

Actualmente tenho o projecto da seguinte forma:

Model:

    <Required(ErrorMessage:="É necessário uma data de inicio")>
    <DisplayName("Data inicio")>
    <DataType(DataType.Date)>
    <DisplayFormat(DataFormatString:="{0:d}")>
    Public Property dataInicio As Date

View:

    <div class="editor-field">
         @Html.TextBoxFor(Function(x) x.teste.dataInicio, New With {.class = "date", .readonly = "readonly"})
         @Html.ValidationMessageFor(Function(x) x.teste.dataInicio)
    </div>

JavaScript:

$(".date").datepicker({ dateFormat: "dd-mm-yy", minDate: 0 });

Views/Shared/EditorTemplates/DateTime

@ModelType Nullable(Of System.DateTime) 

@Html.TextBox("", Model.ToString("dd-MM-yyyy"), New With {.class = "date"})

Será que me está a escapar qualquer coisa?

Obrigado. :thumbsup:

Partilhar esta mensagem


Link 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 a nossa Política de Privacidade