28 messaggi dal 03 aprile 2014
Salve gente, ho un problemino con il validate di un form.

ho un pagina "alencoarticoli" dove faccio le mie query e restituisco un elenco nella view, dentro la stessa view c'è un form e mi piacerebbe utilizzare il validate con i DataAnnotations.

io stavo procedendo in questo modo


        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> ElencoArticoli([Bind("DataInizio")] FormProduzione produzione) {

            {
                
                if (ModelState.IsValid)
                {
                    salvataggio etc.
                }
                return View();
            }


            return View();
        }



Però in ElencoArticolo [HttpGet] ho la query che visualizzo nella View.

La mia domanda è questa, sono costretto a ripetere le query anche su HttpPost nel caso in cui IsValid è false?

oppure avete un'idea migliore?

poi altra domanda, questo metodo di validate con DataAnnotations fà uso di javascript?

spero in una vostra risposta grazie.
8 messaggi dal 07 marzo 2017
Contributi
Ciao!
per non ripetere le query potresti utilizzare uno dei metodi 'RedirectTo-'. Nel tuo caso, supponendo che la chiamata in get si chiami 'ElencoArticoli', dopo il salvataggio utilizzerei
RedirectToAction("ElencoArticoli");


Essendo codice eseguito sul server il metodo di validazione tramite DataAnnotation non fa uso di Javascript.
Tramite asp.net core e Razor, i forms, che seguono le specifiche di un modello con attributi DataAnnotation, vengono generati in modo che jquery.validate.js possa fornire una validazione client-side.

Ciao!
28 messaggi dal 03 aprile 2014
però ti posso chiedere un esempio completo di validation lato server?
sia come view, controller e models?

perchè io ho provato più volte ma non riesco a farlo girare....infatti in questo momento sto lavorando con jquery, però mi piacerebbe farlo lato server.

grazie in anticipio...

comunque alla fine ho usato il redirecttoaction ;-)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.