none
asp.net mvc compare validator yapımı RRS feed

  • 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.
    25 Aralık 2013 Çarşamba 13:10

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
    MCC


    25 Aralık 2013 Çarşamba 15:18
    Moderatör

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
    MCC


    25 Aralık 2013 Çarşamba 15:18
    Moderatör
  • 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

    4 Ocak 2014 Cumartesi 10:19