Ich habe ein Formular, das nur Kontrollkästchen enthält, und ich weiß, dass ich jedes Formular erstellen kann, um Validierungsfehler zu erzwingen. Aber was ich suche, ist ein Fehler, wenn keines der Kästchen überprüft wurde. Wie würde ich das erreichen?Fehlende Formularüberprüfung in der MVC-Anwendung
Ich bin auf der Suche nach einer Fehlermeldung wie: "Sie müssen mindestens eine Eigenschaft auswählen."
Ich sollte klarstellen, dass keines der Felder einzeln benötigt wird, es sollte nur mindestens eine ausgewählte Option sein.
Bearbeiten zur Klarstellung:
Meine Ansicht sieht wie folgt aus etwas:
@using (Html.BeginForm("Method", "Controller", FormMethod.Post, new {id = "id"}))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.Property1, htmlAttributes: new { @class = "control-label col-md-4" })
<div class="col-md-8">
@Html.CheckBoxFor(model => model.Property1)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Property2, htmlAttributes: new { @class = "control-label col-md-4" })
<div class="col-md-8">
@Html.CheckBoxFor(model => model.Property2)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Property3, htmlAttributes: new { @class = "control-label col-md-4" })
<div class="col-md-8">
@Html.CheckBoxFor(model => model.Property3)
</div>
</div>
}
My View-Modell etwa wie folgt aussieht:
public class FormVM
{
[Display(Name = "One")]
public bool Property1 {get;set;}
[Display(Name = "Two")]
public bool Property2 {get;set;}
[Display(Name = "Three")]
public bool Property3 {get;set;}
}
Bitte geben Sie Ihren Code ein –
Sie müssen Ihr eigenes Validierungsattribut erstellen. Beachten Sie, dass das Hinzufügen des Attributs "[Erforderlich]" nicht notwendig ist, es sei denn, Sie möchten eine benutzerdefinierte Fehlermeldung - ein Bool ist immer erforderlich. –
Ich erkenne das, da das Bool immer etwas ist, aber wie füge ich eine Fehlermeldung bei wenn sie alle falsch sind? – Kasper