Ich bin mit Datenanmerkungen beschäftigt. Wenn ich auf einen Link klicke, um zu einer Seite zu gelangen, werden die Validierungsnachrichten angezeigt, aber ich möchte, dass die Validierungsnachrichten erst angezeigt werden, wenn Daten gesendet wurden.MVC Razor Validierungsfehler beim Laden der Seite, wenn keine Daten veröffentlicht wurden
Ausblick:
@Html.TextBoxFor(m => m.EmailAddress, new { @placeholder = "Enter Email", @class = "form-control" })
@Html.ValidationSummary(true, "Registration Failed. Check your credentials")
@Html.ValidationMessageFor(m => m.EmailAddress, "You must enter a valid Email Address.")
Modell:
[Required(ErrorMessage = "Email is required")]
[DataType(DataType.EmailAddress)]
[EmailAddress]
[Display(Name = "Email Address: ")]
public string EmailAddress { get; set; }
Controller:
[HttpGet]
public ActionResult AddUser()
{
return View();
}
[HttpPost]
public ActionResult AddUser(UserCreateViewModel user)
{
if (ModelState.IsValid)
{
var success = UserRepository.AddUser(user);
if (success)
{
return View("Success");
}
}
return View("AddUser");
}
Wie ich schon sagte, mein Problem tritt auf beim Laden der Seite der AddUser Ansicht. Wenn ich auf den Link klicke, um die AddUser-Seite anzuzeigen, werden nach dem Laden Validierungsnachrichten angezeigt. Zu diesem Zeitpunkt wurden noch keine Daten gesendet und das Modell ist leer.
Ich benutzte eine benutzerdefinierte CSS-Datei und hatte aufhören, die alte Site.css einschließlich dieser (die Ihre obige Korrektur hatte) zu beheben mein Problem behoben. – allencoded
Warum in aller Welt müssen wir es manuell tun. Warum wird das nicht vom Framework selbst gehandhabt? : - | – Unbreakable