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.
11 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.