Проверка на стороне клиента случайно не работает - PullRequest
3 голосов
/ 09 июня 2011

Я пытаюсь проверить эту модель:

 public class LogonModel
    {
        [Required(ErrorMessage="Username is required")]
        public string Username { get; set; }

        [Required(ErrorMessage = "Email is required")]
        public string Email { get; set; }

        [Required(ErrorMessage = "Password is required")]   
        public string Password { get; set; }
    }  

В этом действии:

public ActionResult Logon()
        {
            LogonModel model = new LogonModel();
            return View(model);
        }  

В этом представлении:

@model POCModelValidation.Models.LogonModel

@{
    ViewBag.Title = "Index";
}

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

<h2>Index</h2>


@using (Html.BeginForm())
{
    <h3>username</h3>
@Html.EditorFor(model => model.Username)
<h3>@Html.ValidationMessageFor(model => model.Username)</h3>
    <br />
<h3>Password</h3>
@Html.EditorFor(model => model.Password)
<h3>@Html.ValidationMessageFor(model => model.Password)</h3>
     <br />
<h3>Email</h3>
@Html.EditorFor(model => model.Email)
<h3>@Html.ValidationMessageFor(model => model.Email)</h3>

<input type="submit" value="Submit"/>
}  

.. И я не могу понять шаблон, в котором он работает, но он никогда не работает для целых 3 полей. Кроме этого, если я заполняю, ухожу, затем возвращаюсь и удаляю содержимое полей достаточное количество раз, это в конечном итоге работает для всех из них, но редко в первый раз и никогда для всех из них одновременно.
У меня есть эти строки в моем web.config

...
    <appSettings>
        <add key="ClientValidationEnabled" value="true"/> 
        <add key="UnobtrusiveJavaScriptEnabled" value="true"/> 
      </appSettings>  
...

И в _Layout:

...
    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
...  

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 09 июня 2011

Пожалуйста, добавьте следующую строку в ваш код

<%Html.EnableClientValidation();%>
@using (Html.BeginForm())  


**Your code**
0 голосов
/ 09 июня 2011

Загрузите Fiddler http://www.fiddler2.com/fiddler2/ и убедитесь, что скрипты загружаются правильно.Если это не так, проверка не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...