Ho un'app MVC 5 e sto utilizzando le annotazioni di dati per fare la maggior parte della convalida. Una delle proprietà della mia classe si presenta così:MVC5 - Annotazioni dati - Non si verifica la convalida lato client?
[Required(ErrorMessage = "Please enter a business name")]
[StringLength(80)]
public string BusinessName { get; set; }
La validazione sta lavorando, ma non sembra accadere nel browser, come ho pensato che dovrebbe. Sulla mia pagina ho un pulsante Salva. Se lascio il campo Affari Nome vuoto e fare clic su Salva, un post è fatto per un metodo di controllo che sembra, in parte, come segue:
[HttpPost]
public ActionResult Create(Advertiser advertiser, FormCollection collection, HttpPostedFileBase file)
{
// Before we do anything, let's check to make sure any validation that's already been done is clean.
if (!ModelState.IsValid)
{
return View(advertiser);
}
...
...
}
Quando viene eseguito questo metodo, lo stato modello è già impostata come non valida. Va bene perché non è valido perché il campo Nome attività è vuoto. Tuttavia, questa convalida non dovrebbe accadere nel client?
Il campo nel mio file .cshtml sembra (usando Bootstrap) come segue:
<div class="form-group">
@Html.Label("Business Name", new { @class = "control-label col-md-3" })
<div class="col-md-9">
@Html.TextBoxFor(model => model.BusinessName, new { @class = "form-control", title = "", autofocus = true })
@Html.ValidationMessageFor(model => model.BusinessName)
</div>
</div>
mio web.config è impostato correttamente come segue:
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
Qual è il tuo markup cshtml? (il tuo punto di vista ... qual è il codice) –
@Ahmedilyas - Ho modificato il mio post per aggiungere il markup. –
possibile duplicato di [Convalida lato client MVC3 non funzionante] (http://stackoverflow.com/questions/4706174/mvc3-client-side-validation-not-working) –