Možda nije MVC2 već MVC3, ali ima veze sa validacijom, a možda je čak isto tako i u MVC2, ne znam, jer web programiranje radim tek drugu nedelju
Situacija je sledeća:
- Odrađena validacija View modela preko DataAnnotations-a, dakle neke proste stvari (Required, MaxLength, Remote...)
- Ne znam da li je dobar pristup, ali voleo bih da na akciju kontrolera "Unos" koja nakon Submit-a prima View model, odradim malo komplikovaniju validaciju, da mi neko polje zavisi od drugih polja, i tako dalje.
Evo primera kako izgleda View model:
Code:
public class UnosModel
{
public List<Sifarnik1> sifarnk1{get; set;}
public List<Sifarnik2> sifarnk2{get; set;}
public Kupac kupac{get; set;} // kupac recimo ima ime, prezime, telefon...
public List<PorudzbinaStavka> stavke{get; set;}
}
Dakle, ovaj View model služi da prikažem šifarnike u DropDown-u, ali i da pokupim podatke sa View-a kako bih ih prosledio kontroleru, tj. akciji Unos:
Code:
//HttpPost atribut
public ActionResult Unos(UnosModel model)
{
//primer validacije na ovom mestu:
if(model.kupac.ime.Length<3)
{
ModelState.AddModelError("Greška", "Neispravno uneto ime");
return View("Unos", model); // ovo mi je jako bitno: vraćam se na obrazac za unos sa modelom koji već ima podatke!!
}
}
Moja želja je da, kao u primeru, uradim validaciju i, ako nešto ne valja, da se vratim na View prosleđujući isti model koji ima podatke, kako bi korisnik pročitao šta ne valja i ispravio greške.
Problem su ovi šifarnici: Ja njih ne dobijam u ovoj instanci "model, liste su prazne". Ukratko, želim da se vratim na View i da mi u DropDown listama budu podaci, i da bude selektovan onaj koji je bio pre pokušaja snimanja.
Imam nekoliko varijanti da ovo rešim, ali uvek negde malo zapnem, pa bi mi koristio savet kako je najbolje da se to odradi.
A vi,kako 'te?