Mam aplikację internetową MVC4 z formularzem do tworzenia kont użytkowników. Sprawdzanie poprawności formularza działa, ale gdy dane wejściowe nie sprawdzają poprawności, nie jest wyświetlany komunikat o błędzie. To wciąż uniemożliwia złożenie dopóki problem walidacji jest rozwiązany, ale nie ma tekstuSprawdzanie poprawności klienta nie wyświetla wiadomości
Razor Zobacz Formularz
<h2>Create New Account</h2>
<fieldset>
<legend></legend>
@using (Html.BeginForm("CreateUser",null)){
@Html.AntiForgeryToken()
<table class="create">
<tr>
<td colspan="2"><b>New Account</b>
</tr>
<tr>
<td>@Html.DisplayNameFor(model=>model.UserName)</td><td>@Html.TextBoxFor(model=>model.UserName)</td>
<td>@Html.DisplayNameFor(model=>model.EmailAddress)</td><td>@Html.TextBoxFor(model=>model.EmailAddress)</td>
<td><input type="submit" value="Create User" /></td>
</tr>
</table>
}
</fieldset>
@Html.ValidationSummary()
Wiązki stosowane obejmują pliki walidacji
bundles.Add(new ScriptBundle("~/bundles/asset").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.validate*",
"~/Scripts/jquery.unobtrusive*"));
model stosowany jest model podmiot , Dodałem częściową klasę do adnotacji wymagań sprawdzania poprawności
[MetadataType(typeof(UserProfileMetadata))]
public partial class UserProfile
{
//Empty Class just required for adding class level attribute
}
public class UserProfileMetadata
{
//Fields from user profile requiring annotations
[EmailAddress]
[Required]
[Display(Name = "Email Address")]
public string EmailAddress { get; set; }
[Required]
public string UserName { get; set; }
}
Sprawdzanie poprawności działa, ale teraz pokazując komunikat sprawia, że myślę, że musi to być błąd znacznika, ale po prostu go nie widzę.
próbowałeś przesuwając podsumowanie walidacji w formie? także, poprawne podsumowanie nie zostanie wypełnione wynikami do momentu kliknięcia przez użytkownika – Slicksim
* facepalm * tak, problemem było posiadanie streszczenia poza formularzem. Odpal to jako rozwiązanie, a ja to zaakceptuję. Wpatrując się w to przez około 40 minut i po prostu nie widziałem! – James
Zrobiłem to samo sam, dostanę podbite oko z moich palm twarzy pewnego dnia :) – Slicksim