2 Stimmen

Annotation Validation funktioniert nicht

Bitte helfen Sie mir bei dem folgenden Code. Die Model-Klasse verwendet System.ComponentModel.DataAnnotation :

namespace Proj.Models
{
    public class Customer
    {
        [Required]
        public string CustomerID{get;set;}

        [Required]
        public string CustomerName{get;set;}
    }
}

Ich habe einen Controller mit diesem Modell erstellt, wobei die Aktionsmethode lautet:

public class Customer:Controller
{
    public ActionResult Details()
    {
        return View();
    }
}

Die Razor-Ansicht ist Details.cshtml, mit folgendem Markup und Code:

@model Proj.Models.Customer

<form method="post">

@Html.EditorForModel()

<button>Submit!!</button>

</form>

Wenn ich jedoch auf "Absenden" klicke, werden wie erwartet keine Validierungsfehler angezeigt.

2voto

Levi Botelho Punkte 23822

Sie müssen eine Methode erstellen, die Ihr Modell als Eingabe wie folgt übernimmt:

[HttpPost]
public ActionResult Index(Customer customer)
{
    return View();
}

En [HttpPost] sorgt dafür, dass die Methode nur bei POST-Anfragen aufgerufen wird.

0voto

Display Name Punkte 4714

Sie müssen eine Editorvorlage für Ihr Modell erstellen. Standardmäßig werden keine Validierungsmeldungen ausgegeben. In Ihrer Editorvorlage müssen Sie Folgendes verwenden @ValidationMessageFor für Ihre Required Felder.

Ich hoffe, das hilft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X