Sono rimasto bloccato con alcune convalide per un po 'di tempo. Ho cercato a fondo su Internet per trovare modi per applicare le convalide che ho bisogno. Ho trovato molti metodi per convalidare anche alcuni pacchetti di Nuget. Ma nella maggior parte dei casi il mio requisito non era soddisfatto. Ho fatto una validazione remota, che per me era la più facile da comprendere. Ma in alcuni casi non mi ha dato i risultati attesi.
Ho ricevuto suggerimenti da molti che mi chiedono di eseguire la validazione lato client usando Jquery e lasciando la convalida lato server per il momento (la maggior parte dei consigli non erano abbastanza chiari per me, non sono mai stato allo sviluppo web prima). Essendo queste lingue davvero difficili da capire, ho dovuto continuare a cercare modi per ottenere le mie cose. Forse ero alla ricerca del modo più semplice per fare una convalida.
Finalmente ho avuto successo nell'ottenere l'output desiderato convalidando i miei dati nel metodo di azione del controller. Non sono sicuro che sia un metodo convenzionale da seguire o se finirei con conseguenze gravi in una fase successiva.
Quindi ora mi sto davvero chiedendo perché nessuno mi ha consigliato di fare la validazione nel metodo di azione quando è possibile !! Il mio approccio è giusto per fare una valutazione. Solo per riferimento sto aggiungendo la convalida che ho fatto.
if (ModelState.IsValid)
{
if (db.SystemFamily.Any(x => x.FamilyName.Equals(systemFamily.FamilyName)))
{
ModelState.AddModelError("FamilyName", "Already exists");
return View(systemFamily);
}
else
{
systemFamily.DateCreated = DateTime.Now;
systemFamily.CreatedBy = User.Identity.Name;
db.SystemFamily.Add(systemFamily);
db.SaveChanges();
return RedirectToAction("Index");
}
}
Sto cercando difetti nel mio approccio e la possibile alternativa più semplice per il mio compito.