bir jquery doğrulama eklentisi kullanarak ASP.NET onay kutularını doğrulamak için daha iyi bir yolunu mu arıyorsunuz?

oy
3

Sorun:

Ben Jquery doğrulama eklentisi kullanarak bazı ASP.NET-onay kutularını doğrulamak istiyor (: bulunan http://bassistance.de/jquery-plugins/jquery-plugin-validation/ )

tüm hakkında ne:

Bu ASP.NET onay kutularının adı özniteliği ayarlamak mümkün değildir (veya öyle?). Kontrol oluşturulur ve kullanılarak alınabilir olduğunda otomatik olarak, set olacak

<%= emailCheckBox.UniqueID %>

Aşağıdaki Yani iki onay kutularını:

<asp:CheckBox runat=server ID=emailAcceptCheckBox />Email<br />
<asp:CheckBox runat=server ID=phoneAcceptCheckBox />Phone<br />

render edecektir:

<INPUT id=ctl00_MainContentPlaceHolder_emailAcceptCheckBox type=checkbox name=ctl00$MainContentPlaceHolder$emailAcceptCheckBox>
<INPUT id=ctl00_MainContentPlaceHolder_phoneAcceptCheckBox type=checkbox name=ctl00$MainContentPlaceHolder$phoneAcceptCheckBox>

Belki Jquery doğrulama eklentisi ile ASP.NET karıştırmak Felaket, ama jquery doğrulama eklentisi tercih ve girişler ve diğer alanları ile çalışıyor.

Sorun jQuery doğrulama eklentisi onay kutularının isim özelliğini kullanarak gruba onay kutularını istediği vardır. Bu isim özellikler tüm onay kutularını ve bir gruba eşit olmalıdır.

Yaptığım Ne:

Jquery kullanarak TÜM onay kutularına bir kural eklendi:

$(#[id*='AcceptCheckBox']).each(function() { $(this).rules(add, { minchecked: 1 }); });

Ve işaret kutusu denetimi kendi kural ekledi:

jQuery.validator.addMethod(minchecked,
 function(value, element, param) {
     var noOfChecked = $(#[id*='AcceptCheckBox']:checked).length;
          return noOfChecked >= param;
     },
 Error);

(Bu kural kimin kimlikleri AcceptCheckBox dahil işaret kutusu geçerli olacaktır, ancak bu örnekte tamam).

Ne zaman diyoruz:

var result = $(#aspnetForm).validate().form();

Benim doğrulama başarılı veya başarısız olursa mükemmel döner!

FAKAT:

1) Ben bu çok temiz ve güzel bir çözüm olduğunu hissetmiyorum. -Daha iyi tavsiye?

2) validate çalıştırdığınızda (). Formu () TÜM benim onay kutuları geçmesi ve bunların her biri için diğer tüm onay kutularını kontrol edeceğiz. Bu gerçekten gerekli değil. Bunu nasıl önleyebilirsiniz?

Oluştur 16/07/2009 saat 10:44
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
1

Genel olarak, kod bana ince görünüyor. (: Onay kutusu asp için 'name' niteliğini belirtmek olamaz) onay kutusu sınırlama: Sana temiz asp ele düşünüyorum.

Şahsen, normal HTML onay kullanmak.

<input type="checkbox" runat="server" ID="emailAcceptCheckBox" name="acceptCheckBox" value="emailAccepted" /><label for="emailAcceptCheckBox">Email</label><br />
<input type="checkbox" runat="server" ID="phoneAcceptCheckBox" name="acceptCheckBox" value="phoneAccepted" /><label for="phoneAcceptCheckBox">Email</label><br />

(Kullanıcı etiket (daha büyük hedef) onay kutusunun işaretini kaldırın / kontrol etmek tıklayarak böylece bir etiket etiketi ekledik.)

Yukarıdaki jQuery kodu basitleştirecek.

Sunucu tarafı kodu günü, ne kontrol edilir ve ne değildir görmek için Request.Form [ "acceptCheckBox"] işaretleyin.

Cevap 16/07/2009 saat 17:49
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more