mk-prg-net \net \asp \ mvc \models

Validierbare Einschränkungen an Modellen definieren

→ Daten Annotationen definieren mittels System.ComponentModel.DataAnnotations
public class DataCollection
{
   [System.ComponentModel.DataAnnotations.Required(ErrorMessage= "X ist erforderlich")]
   [System.ComponentModel.DataAnnotations.Display(Name="X", Description= "z.B. Nr. od. Zeitpunkt der Messung")]        
   public double newX { get; set; }
   [System.ComponentModel.DataAnnotations.Required(ErrorMessage = "Y ist erforderlich")]
   [System.ComponentModel.DataAnnotations.Display(Name="Y", Description = "Messwert")]        
   public double newY { get; set; }
   // ...
}

Formulardaten validieren und an Parameter einer Action binden

Achtung: Die Validierung fuktioniert nur unter folgenden Vorausetzungen:
  1. Ein Modell wurde definiert, dessen Eigenschaften mittels System.ComponentModel.DataAnnotation Attribute eingeschränkt wurden
  2. Die Action nimmt die zu verarbeitenden Daten als Modell entgegen (z.B. public ActionResult AddValue(Models.StatCalcWithSessionState.DataCollection newData)) und nicht als einzelne Parameter (z.B. public ActionResult AddValue(double newX, double newY))
  3. Die Clientseitige Validierung in der View wurde abgeschaltet (ist fehlerhaft), durch HtmlHelper.ClientValidationEnabled = false;
Validierung für eine Action unterbinden
/// Löscht einen Messwert
/// Die Validierung wird unterbunden, um das Löschen auch bei unkorrekten Eingaben in den
/// Eingabefeldern zu ermöglichen.
[ValidateInput(false)]
public ActionResult DelValue(int id)
{
   Mem.Values.RemoveAt(id);
   return View("Index", Mem);
}

Modelle an Actionparameter binden

Näheres dazu hier