Ho un modulo generato da ASP.NET. Ho alcuni campi obbligatori e sto usando il [Required] dataAnnotation per quello. Tuttavia, gli elementi che non dispongono di [Required] DataAnnotation sono inoltre richiesti in base alla mia pagina Web. Questi non sono affatto necessari, ma non posso inviare il modulo se sono vuoti.Rasoio MVC ASP.NET - Tutti i campi modulo sono obbligatori?
Ho utilizzato il ponteggio per creare le pagine, il validatore jQuery è utilizzato (per impostazione predefinita) per la convalida.
classe del modello (alcuni campi sono stati omessi per chiarezza)
public class Room
{
[Key]
public int ID { get; set; }
[Required(ErrorMessage = "Please enter the minimum (default) price for this room.")]
[DataType(DataType.Currency)]
[Display(Name = "Minimum price")]
public decimal MinPrice { get; set; }
[Display(Name = "Alternative price")]
[DataType(DataType.Currency)]
public decimal AltPrice { get; set; }
}
Il codice che crea i campi del modulo di de lima .cshtml:
<div class="form-group">
@Html.LabelFor(model => model.MinPrice, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.MinPrice)
@Html.ValidationMessageFor(model => model.MinPrice)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.AltPrice, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.AltPrice)
@Html.ValidationMessageFor(model => model.AltPrice)
</div>
</div>
Il campo obbligatorio visualizza correttamente il messaggio di errore come definito (quindi legge le annotazioni). Il campo non obbligatorio visualizza invece un messaggio di errore generico ("Il campo del prezzo alternativo è richiesto.").
Ho cercato un bel po ', ma ovunque si dice che se [Required] DataAnnotation non è presente, non sarà richiesto nel modulo.
Ah, naturalmente, grazie! Non posso ancora accettare la risposta, ma lo farò al più presto. – Chirimorin