PDA

View Full Version : مشکل در مقایسه دو تاریخ با compareValidator!



setarh-arjoman
یک شنبه 23 اردیبهشت 1386, 21:10 عصر
سلام
میشه منو راهنمایی کنید که چرا کد زیر کار نمیکنه؟ هر مدل تاریخ که بهش میدم بازهم error میده.
مرسی



<html>
<body>
<form runat="server">
Start date:<asp:TextBox ID="txtStartDate" Runat="server"></asp:TextBox>
<BR>
End Date:<asp:TextBox ID="txtEndDate" Runat="server"></asp:TextBox>
<br>
<asp:CompareValidator
ControlToValidate="txtEndDate"
ControlToCompare="txtStartDate"
text="Invalid Date!"
Operator="GreaterThan"
Type="Date"
Runat="server">
</asp:CompareValidator>
<asp:Button ID="btn_submit" Runat="server" Text="Compare"></asp:Button>
</form>
</body>
</html>

rtech
یک شنبه 23 اردیبهشت 1386, 21:23 عصر
میخواهید تاریخ شروع و انتها مقایسه شوند ؟

setarh-arjoman
دوشنبه 24 اردیبهشت 1386, 08:50 صبح
آره و تاریخ پایان باید بزرگتر از تاریخ شروع باشد. من این کد رو از توی کتاب مرجع asp.net نوشتم. هرجوری هم که تاریخ بهش میدم بازم بهم invalid date میده.
2006-1-1 یا 2007/2/2

setarh-arjoman
سه شنبه 25 اردیبهشت 1386, 08:18 صبح
بازهم سلام.
آیا کسی پیشنهادی نداره که چرا کد بالا کار نمیکنه؟ لطفا" منو راهنمایی کنید.

farid_nasiri
سه شنبه 25 اردیبهشت 1386, 09:40 صبح
کد بالا در ASP.NET2 تست شد مشکلی نداره.
اگه تاریخ دوم از تاریخ اول بزرگتر نباشه پیام INVALID DATE نمایش داده میشه.

setarh-arjoman
سه شنبه 25 اردیبهشت 1386, 10:58 صبح
میشه بگی که تاریخ رو چه طوری(چه فرمتی) وارد کردی؟ من هر مدل که میدم کار نمیکنه.
مثلا" 1386/2/2 یا 2007/2/2
مرسی

farid_nasiri
چهارشنبه 26 اردیبهشت 1386, 08:40 صبح
startdate=1386/01/01
enddate=1386/02/02

setarh-arjoman
شنبه 29 اردیبهشت 1386, 08:11 صبح
مرسی، ولی جالبه که توی کتاب ASP.Net Unleashed آقای Walther نوشته تاریخ ا باید با فرمت 2001/1/1 یا 2001/-1-1 وارد کرد !!!! من دیشب مثل شما تاریخ وارد کردم و شد !!!!!!
یعنی بخاطر سیستم یا wndows هست که 1/1/2001 با 2001/1/1 فرق میکنه؟
و در آخر از راهنماییت خیلی ممنونم.

Alireza_Salehi
شنبه 29 اردیبهشت 1386, 08:26 صبح
در مقایسه تاریخ باید حتما پارامترهای Globalization را در نظر بگیرید (مثلا شما کافیه موقع ذخیره کردن تاریخ در حالت انگلیسی بوده اید و از AM استفاده شده و در حالت دیگری با عوض شدن زبان این نشانه تغییرکند حالا تمام مقایسه هاتون False خواهند شد- فرمت تاریخ هم از این قاعده مستثنی نیست)، در این مورد خاص با استفاده از CustomValidator خیلی راحت تر به جواب خواهید رسید.