我将ASP
textbox
文字模式设为date
,并注意到其“YEAR”组件最多可输入9个字符。
我的问题是,如何限制年份输入字段最多接受4个字符?
<asp:TextBox ID="bday" runat="server"
TextMode="Date"
CssClass="textbox"
style="width: 30%; " >
</asp:TextBox>
答案 0 :(得分:0)
使用MaxLength
属性。
MaxLength="4"
以下是完整代码:
<asp:TextBox ID="bday" runat="server"
MaxLength="4"
TextMode="Date"
CssClass="textbox"
style="width: 30%; " >
</asp:TextBox>
答案 1 :(得分:0)
将日期作为字符串并使用子串函数。 例如字符串s1 = 01 jan 2017 String s2 = s1.substring(7)只给你2017年 我想这是最简单的方法
答案 2 :(得分:0)
如果您想阻止用户输入错误的值,您应该使用Date Picker
..
如果您需要
Server-Side
验证:
<强> ASPX:强>
<asp:CustomValidator runat="server" ControlToValidate="bday" ErrorMessage="Not valid format" OnServerValidate="CustomValidator1_ServerValidate" />
C#:
protected void CustomValidator1_ServerValidate(object sender, ServerValidateEventArgs e)
{
DateTime d;
e.IsValid = DateTime.TryParseExact(e.Value, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out d);
}
或者您可能需要
Client-Side
验证:
<asp:RegularExpressionValidator runat="server" ControlToValidate="bday" ValidationExpression="(((0|1)[0-9]|2[0-9]|3[0-1])\/(0[1-9]|1[0-2])\/((19|20)\d\d))$"
ErrorMessage="Invalid date format." ValidationGroup="Group1" />