Ich versuche innerhalb von MVC 5 zu erstellen und erhalte einen Validierungsfehler, obwohl der ModelState wieder gültig ist.MVC 5 Validierungsfehler erstellen, aber gültiger ModelState
Fehlermeldung
Validierung fehlgeschlagen für ein oder mehrere Objekte. Weitere Informationen finden Sie unter Eigenschaft 'EntityValidationErrors'.
und wenn ich mir die Nachricht aus, es zeigt ....
Der Name 'e' nicht
im aktuellen Kontext existieren, wenn ich auf der POST aussehen Daten, das Modell, das erstellt wurde, hat alle erforderlichen Felder ausgefüllt. Ich habe festgestellt, dass das Modell ID
0
zugewiesen wurde. Ich bin mir nicht sicher, ob das der Fehler ist oder ob es eine Null für die ID geben soll.
Was könnte das Problem sein?
WosController.cs
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Include = "id,woNumber,woDescription,dueDate,qty,item_id,releaseDate,parentWO_id,wip_id")] Wo wo)
{
if (ModelState.IsValid)
{
db.Wos.Add(wo);
await db.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(wo);
}
Wo.cs
public partial class Wo
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Wo()
{
this.WoParts = new HashSet<WoPart>();
this.WoStatuses = new HashSet<WoStatus>();
}
public int id { get; set; }
public string woNumber { get; set; }
public string woDescription { get; set; }
public Nullable<System.DateTime> dueDate { get; set; }
public string qty { get; set; }
public Nullable<int> item_id { get; set; }
public Nullable<System.DateTime> releaseDate { get; set; }
public string status { get; set; }
public Nullable<int> parentWO_id { get; set; }
public int wip_id { get; set; }
public Nullable<int> part_id { get; set; }
public virtual Item Item { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<WoPart> WoParts { get; set; }
public virtual Wo woParentWO { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<WoStatus> WoStatuses { get; set; }
public virtual Part Part { get; set; }
public virtual Wip Wip { get; set; }
}
* einen Validierungsfehler erhalten * .. was ist der Fehler? –
Und wie sieht deine Wo-Klasse aus? – KSib
mit dieser Fehlermeldung .. wie funktioniert es überhaupt? Was ist 'e'? das sollte ein Kompilierzeitfehler und kein Laufzeitfehler sein? Um eine bessere Beschreibung des Fehlers zu erhalten, versuchen Sie es mit einem 'try-catch-Block 'und fangen Sie die Ausnahme ab .. Wenn Sie dann debuggen, wird es Ihnen genau sagen, was passiert ist. –