我是ASP.NET的新手,我想设置RangeValidator
来验证18岁以上的出生日期。我已经设置了它,但是它没有用。
我该如何解决?
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtDOB"
ErrorMessage="less than 18 " MaximumValue="01/01/1995" MinimumValue="01/01/1888"
SetFocusOnError="True" Type="Date" Style="color: #FF0000;"></asp:RangeValidator>
答案 0 :(得分:3)
我建议您使用带有客户端javascript功能的asp:CustomValidator
。
你可以做这样的事情(注意,这是未经测试,只是在我的头顶):
<asp:CustomValidator ID="CustomValidator1" runat="server"
EnableClientScript="true"
ErrorMessage="less than 18"
ClientValidationFunction="checkDate"
ControlToValidate="txtDOB">
</asp:CustomValidator>
假设日期以“dd / MM / yyyy”格式写成
function checkDate() {
var enteredDate=document.getElementById('<%=txtDOB.ClientID%>').value;
var dateValues=enteredDate.split("/");
var dateToCheck = new Date(dateValues[2], dateValues[1]-1, dateValues[0]);
var today = new Date();
var dateValid = new Date(today.getFullYear()-18, today.getMonth()-1, today.getDate());
if (dateToCheck < dateValid) {
args.IsValid = false;
}
else {
args.IsValid = true;
}
}
注意