ASP-MVC 2: Regulärer Ausdruck-Attribut arbeitet auf clientseitiger aber nicht serverside

[Required(ErrorMessage = "Date is required")]
[RegularExpression(@"^(((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))))$", ErrorMessage="Date is not valid must be like (dd/mm/jjjj)")]
public DateTime Startdate{ get; set;}

Die clientseitige Validierung funktioniert perfekt. So es scheint, dass JavaScript kann erfolgreich verstehen, meine regulären Ausdruck. Aber wenn ich einen postback, und den modelstate.Isvalid() aufgerufen wird.

Mein Datum nicht mehr gültig. Also ich vermute, dass, wenn .NET führt mit den passenden regEx-es passt nicht.

Meine Frage: Warum wird in diesem regulären Ausdruck entsprechen, die auf der client-Seite, aber nicht auf der server-Seite?

InformationsquelleAutor | 2010-05-02
Schreibe einen Kommentar