Ich habe ein Formular, das von ASP.NET generiert wird. Ich habe einige Pflichtfelder, und ich verwende die [Required] dataAnnotation dafür. Allerdings sind die Elemente, die nicht die [Required] DataAnnotation haben, auch gemäß meiner Webseite erforderlich. Diese sind überhaupt nicht erforderlich, aber ich kann das Formular nicht senden, wenn sie leer sind.ASP.NET MVC Razor - Alle Formularfelder sind erforderlich?
Ich habe Gerüst verwendet, um die Seiten zu erstellen, jquery Validator wird (standardmäßig) für die Validierung verwendet.
Modellklasse (einige Felder aus Gründen der Übersichtlichkeit weggelassen)
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; }
}
Der Code, der die Formularfelder in de .cshtml Datei erstellt:
<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>
Das erforderliche Feld zeigt korrekt die Fehlermeldung wie definiert (also liest es die Anmerkungen). Das Feld Nicht erforderlich zeigt stattdessen eine allgemeine Fehlermeldung an ("Das Feld Alternativer Preis ist erforderlich.").
Ich habe ziemlich viel gesucht, aber überall heißt es, wenn die [Required] DataAnnotation nicht da ist, wird es in dem Formular nicht benötigt.
Ah natürlich, danke! Ich kann die Antwort noch nicht akzeptieren, aber ich werde es tun, sobald ich kann. – Chirimorin