-1
A
回答
1
假設日期是 「DD/MM/YYYY」 格式,則可以使用此javascript函數用一個定製的驗證。
ASPX
<asp:CustomValidator ID="CustomValidator1" runat="server"
EnableClientScript="true"
ErrorMessage="ERROR MESSAGE HERE"
ClientValidationFunction="checkDate">
</asp:CustomValidator>
的JavaScript
function checkDate() {
var date1=document.getElementById('<%=txtDate1.ClientID%>').value;
var date2=document.getElementById('<%=txtDate1.ClientID%>').value;
var date1Values=date1.split("/");
var date2Values=date2.split("/");
if (date1Values[2] == date2Values[2] && date1Values[1] ==date2Values[1]) {
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
你應該有服務器驗證碼太多,如果JavaScript已禁用。見Tim的答案。
2
你可以使用一個CustomValidator
ASPX:
<asp:CustomValidator runat="server"
ID="valMonth"
onservervalidate="ServerValidation"
onclientvalidate="ClientValidate"
ErrorMessage="From and To must be in the same month" />
的ServerValidate:
protected void ServerValidation (object source, ServerValidateEventArgs args)
{
DateTime dtFrom;
DateTime dtTo;
if(DateTime.TryParse(TxtFrom.Text, out dtFrom) && DateTime.TryParse(TxtTo.Text, out dtTo))
{
args.IsValid = dtFrom.Year == dtTo.Year && dtFrom.Month == dtTo.Month;
}
else
{
args.IsValid = false;
}
}
你也應該增加兩個CompareValidators
這是否都是有效的日期。 要提供ClientValidationFunction
,您可以查看getMonth
和getFullYear
函數。
例如(未測試):
<script language="javascript">
<!--
function ClientValidate(source, arguments)
{
var txtFrom = document.getElementById('<%= TxtFrom.ClientID %>');
var txtTo = document.getElementById('<%= txtTo.ClientID %>');
var dtFrom = new Date(txtFrom.value);
var dtTo = new Date(txtTo.value);
var monthFrom = dtFrom.getMonth();
var monthTo = dtTo.getMonth();
var yearFrom = dtFrom.getFullYear();
var yearTo = dtTo.getFullYear();
arguments.IsValid = yearFrom == yearTo && monthFrom == monthTo;
}
// -->
</script>
0
下面是一個使用CustomValidator控制一個短期和簡單的例子
Date 1<asp:TextBox ID="txtDate1" runat="server" />
<br />
Date 2<asp:TextBox ID="txtDate2" runat="server" />
<br />
<asp:Button ID="btnCompare" runat="server" Text="Compare" />
<asp:CustomValidator ID="dateValidator" runat="server" ErrorMessage="The two dates must be in the same month and year"
OnServerValidate="ValidateDate" />
<script runat="server">
protected void ValidateDate(object source, ServerValidateEventArgs args)
{
DateTime date1 = DateTime.Parse(txtDate1.Text);
DateTime date2 = DateTime.Parse(txtDate2.Text);
if (date1.Month != date2.Month || date1.Year != date2.Year)
args.IsValid = false;
}
</script>
相關問題
- 1. 如何檢查兩個日期是否在同一日曆日
- 2. 查詢以檢查日期是否在兩個月的日期值之間
- 3. 檢查是否包含兩個日期
- 4. 檢查是否一個日期之前是另一個與日/月/年
- 5. 如何檢查日期是否在兩個日期之間?
- 6. 如何檢查日期是否在兩個日期之間mysql?
- 7. 檢查日期是否在mysql中的兩個日期之間
- 8. 檢查日期是否在兩個日期之間
- 9. 檢查英國日期是否在SQL中的兩個日期
- 10. 檢查日期是否在兩個其他日期之間
- 11. 使用VBA檢查日期是否在兩個日期之間
- 12. 檢查日期是否在兩個日期之間
- 13. 如何檢查是否一個日期是兩個給定日期之間
- 14. 查看兩個日期是否相距超過6個月Oracle
- 15. php日期 - 檢查它是否在1個月內
- 16. 如何使用LINQ來檢查所有日期是否來自同一個月
- 17. Java檢查日期是否是下一個星期日
- 18. 查找當前日期是否是同一個日期
- 19. 檢查日期是在同一個月的某個日期之前還是之後
- 20. 檢查一個字符串是否是一個日期
- 21. Django日程安排,如何檢查日期是否在兩個日期之間
- 22. 檢查一個日期是否大於一個月的第一週結束日期
- 23. 檢查週日落在兩個日期
- 24. 在TSQL中檢查兩個日期時間是否在同一日曆日的最佳方法是什麼?
- 25. 如何檢查它是否是星期六,並在同一個月內設置爲最近日期
- 26. 檢查兩個查詢是否相同
- 27. 檢查一個日期是否爲星期日
- 28. 檢查這個星期一是上週一在一個月
- 29. SQL:檢查日期是否存在兩個表
- 30. 檢查「系統」是否在SQL中的兩個日期之間
給我充分說明..... PLZ – 2013-04-10 08:21:21
http://stackoverflow.com/questions/939802/date-validation-with-asp -net-驗證 – CloudyMarble 2013-04-10 08:22:02