Quella espressione regolare valida questa cosa
1022031-10110-0000
che non mi pare una data![]()
io uso questo controllo
<asp:CompareValidator ID="cv_data" runat="server" ControlToValidate="c_data" ErrorMessage="il campo Data non è una data valida" ToolTip="il campo Data non è una data valida" Operator="DataTypeCheck" Text="*" Type="Date" CssClass="text_error help" Display="Static" />
che mi ha sempre funzionato.
ma se vuoi utilizzare una espressione regolare, prova questa
^((3[01]|[12]\d|0?[1-9])\/(0?[13578]|10|12)\/(\d\d)?\d\d|(30|[12]\d|0?[1-9])\/(0?[469]|11)\/(\d\d)?\d\d|(2[0-8]|[01]\d|0?[1-9])\/(0?2)\/(\d\d)?\d\d|29\/(0?2)\/(1200|1600|2000|2400|2800|00)|29\/(0?2)\/(\d\d)?(0[48]|[2468][048]|[13579][26]))$