En iyi yanıtlayıcılar
asp.net mvc compare validator yapımı

Soru
-
Merhaba arkadaşlar. bir kampanya sayfası yapıyorm ve üye olan kişinin 5 kişi davet etmesini istiyorum ve bunun için de 5 textbox a mail adresi girmesini istiyorum. 1. sorun aynı mail adresini girmemesini nasıl engellerim mvc tarafında?? scriptle engellemek istemiyrm.
Yanıtlar
-
input ların name'lerinin hepsini aynı verin, Actionda bunu string[] olarak alın. Daha sonra linq ile kontrol edebilirsiniz.
1. E-Posta<br /> <input type="text" name="EMails" /> <br /><br /> 2. E-Posta<br /> <input type="text" name="EMails" /> <br /><br /> 3. E-Posta<br /> <input type="text" name="EMails" /> <br /><br /> 4. E-Posta<br /> <input type="text" name="EMails" /> <br /><br /> 5. E-Posta<br /> <input type="text" name="EMails" /> <br /><br />
public ActionResult Create(BirEntity Model, string[] EMails) { if(EMails.GroupBy(p=>p).Where(p=>p.Count()>1).Select(p=>p.Key).Count>0) { //mükerrer email var }
.
.
.return View(); }
gibi
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen Önay YALÇINERModerator 25 Aralık 2013 Çarşamba 15:19
- Yanıt Olarak İşaretleyen Barış SarıtaşModerator 30 Aralık 2013 Pazartesi 08:21
Tüm Yanıtlar
-
input ların name'lerinin hepsini aynı verin, Actionda bunu string[] olarak alın. Daha sonra linq ile kontrol edebilirsiniz.
1. E-Posta<br /> <input type="text" name="EMails" /> <br /><br /> 2. E-Posta<br /> <input type="text" name="EMails" /> <br /><br /> 3. E-Posta<br /> <input type="text" name="EMails" /> <br /><br /> 4. E-Posta<br /> <input type="text" name="EMails" /> <br /><br /> 5. E-Posta<br /> <input type="text" name="EMails" /> <br /><br />
public ActionResult Create(BirEntity Model, string[] EMails) { if(EMails.GroupBy(p=>p).Where(p=>p.Count()>1).Select(p=>p.Key).Count>0) { //mükerrer email var }
.
.
.return View(); }
gibi
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Düzenleyen Önay YALÇINERModerator 25 Aralık 2013 Çarşamba 15:19
- Yanıt Olarak İşaretleyen Barış SarıtaşModerator 30 Aralık 2013 Pazartesi 08:21
-
Remote validation kullanarak yaptım.gayet kullanışlı oldu.
[Remote("ActionAdi","ControllerAdi",ErrorMessage="Farklı mail adresi giriniz")]
public string Email1 {get;set;}
public ActionResult ActionAdi(strin Email1, string Email2 ....)
{
if(Email1=Email2....)
{
return json(false,JsonRequestBehavior.AllowGet)
}
else
{
return json(true,JsonRequestBehavior.AllowGet);
}
}
Şeklinde yapılabilir. Emaillerin veritabanında olup olmadıgına da bakabilirdik. v.s