2010-07-12 22 views
7

asp.net'te veri doğrulamasını nasıl kullandık? tarihi, geçerli tarihten daha büyük bir tarih eklenemez.tarih onayı

cevap

1

CustomValidator'dan yararlanarak sorunlarınızı kolayca çözebilirsiniz.

CustomValidator

veya

var myDate=new Date(); 
myDate.setFullYear(2010,0,14); 
var today = new Date(); 

if (myDate>today) 
    { 
    alert("Today is before 14th January 2010"); 
    } 
else 
    { 
    alert("Today is after 14th January 2010"); 
    } 
2

kullanın bir CompareValidator aşağıdaki gibi gibi tarihinizi doğrulamak için javascript kullanabilirsiniz. Çoğu kişi bunu iki metin kutusuna girilen iki değeri karşılaştırmak için kullanır, ancak sizin girdiğiniz bir değeri, sizin durumunuzda olduğu gibi ayarlanmış bir değerle karşılaştırmak için de kullanabilirsiniz. kodunda

<asp:CompareValidator id="Compare1" 
     ControlToValidate="TextBox1" 
     Type="Date" 
     runat="server"/> 

arkasında Ayrıca Compare1.ValueToCompare = new DateTime(...); ve Compare1.Operator = ValidationCompareOperator.LessThanEqual;

set unutmayın: clientside doğrulama kapatmak için kolay ya by-pass çünkü her zaman, Sunucu yanı sıra istemci üzerinde doğrulamak gerekir . Bunun için Fluent validation'a bakmanızı öneririm. JavaScript çözüm olarak

+2

Sorunuzda önerilen bir teknoloji ile soruyu sormak biraz kaba ... – cjk

+1

Üzgünüz, kaba sayılır mı? Yardımcı olduğunu düşündüm. Bu sayede kullanıcı bu teknoloji ile ilgili diğer soruları kolayca bulabilir. Ayrıca, bu teknolojiyi kullanan diğer insanlar bu soruyu bulabilir ve yardım sağlayabilir. Yardımcı olduğumu düşünmüştüm. Kaba olduğu düşünülen bir topluluk yayını var mı? Diğer kullanıcılar @ ck'in yorumunu harika bir yorum olarak işaretlerse etiketleri kaldırdığım için mutluyum. Muhtemelen bunu yapmak, kendi yorumunuzu eklemekten daha iyidir, çünkü bu sorunun konusu olmayacaktır. –

1

,

saat ayarlamak için emin olun, dk, saniye ve milisaniye 0'a, sadece (yani gün, ay ve yıl) tarihleri ​​karşılaştırmak istiyorsanız. aşağıdaki gibi işlev olduğu yukarıda bahsedilen modernleşmek için

function f_tcalResetTime (d_date) { 
    d_date.setHours(0); 
    d_date.setMinutes(0); 
    d_date.setSeconds(0); 
    d_date.setMilliseconds(0); 
    return d_date; 
} 

aslında 1 Ocak gece yarısından itibaren geçen milisaniye sayısını döndürür perde arkasında date.valueOf işlevini çağırmak javascript tarihleri, karşılaştırırsanız 1970.

0

iyi bir tarih dostum. Mevcut birçok seçenek var. Asp.net'in özel onaylayıcı kontrolü, javascript vb. Kullanabilirsiniz. Daha iyi bir seçenek, AJAX kontrol araç setinin maskelenmiş düzenleme genişleticisini maskelenmiş düzenleme doğrulayıcı ile kullanmaktır. Aralıklar, özel maske (yyyy/MM/dd) ve bununla birlikte boş bir alan mesajı bile belirtebilirsiniz.

Web sitenizin kültürünü doğru bir şekilde ayarlayabilmeniz için web sitenizin kültürünü ayarladığınızdan emin olun.

Şerefe.

<ajaxToolkit:MaskedEditValidator 
ControlExtender="MaskedEditExtender2" 
ControlToValidate="TextBox2" 
IsValidEmpty="False" 
MaximumValue="12000" 
EmptyValueMessage="Number is required" 
InvalidValueMessage="Number is invalid" 
MaximumValueMessage="Number > 12000" 
MinimumValueMessage="Number < -100" 
MinimumValue="-100" 
EmptyValueBlurredText="*" 
InvalidValueBlurredMessage="*" 
MaximumValueBlurredMessage="*" 
MinimumValueBlurredText="*" 
Display="Dynamic" 
TooltipMessage="Input a number: -100 up to 12.000"/>