Что jQuery я пишу с ненавязчивой проверки клиента в ASP.NET MVC 3? - PullRequest
1 голос
/ 26 января 2011
<form>
<div class="clrfix">
  <label for="first_name">First Name</label>
  <input data-val="true" data-val-required="Your First Name is required." id="first_name" name="first_name" type="text" value="" />
  <span class="field-validation-valid" data-valmsg-for="first_name" data-valmsg-replace="true"></span>
</div>
<div class="clrfix">
  <label for="last_name">Last Name</label>
  <input data-val="true" data-val-required="Your Last Name is required." id="last_name" name="last_name" type="text" value="" />
  <span class="field-validation-valid" data-valmsg-for="last_name" data-valmsg-replace="true"></span>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script src="/Scripts/mvc/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/mvc/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
<script src="/Scripts/mvc/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>

Итак, я пытаюсь понять эту концепцию ненавязчивой проверки клиента в ASP.NET MVC 3. Итак, я сделал вышеупомянутый, теперь самый большой вопрос, как мне проверить с помощью jQuery? Что именно я пишу? Вот что меня смущает. Как мне вызвать сообщения об ошибках, а что нет?

Если кто-нибудь может дать мне какое-либо представление о том, каковы следующие шаги, я был бы очень признателен.

Ответы [ 2 ]

6 голосов
/ 26 января 2011

Вот пример того, как это работает.Вы начинаете с определения модели, которая будет содержать свойства, украшенные атрибутами, указывающими различные правила проверки:

public class PersonViewModel
{
    [Required(ErrorMessage = "The first name is required")]
    public string FirstName { get; set; }

    [Required(ErrorMessage = "The last name is required")]
    public string LastName { get; set; }
}

, затем контроллер:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View(new PersonViewModel());
    }

    [HttpPost]
    public ActionResult Index(PersonViewModel model)
    {
        return View(model);
    }
}

и, наконец, представление:

@model AppName.Models.PersonViewModel
@{
    ViewBag.Title = "Home Page";
}

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

@using (Html.BeginForm())
{
    <div>
        @Html.LabelFor(x => x.FirstName)
        @Html.TextBoxFor(x => x.FirstName)
        @Html.ValidationMessageFor(x => x.FirstName)
    </div>

    <div>
        @Html.LabelFor(x => x.LastName)
        @Html.TextBoxFor(x => x.LastName)
        @Html.ValidationMessageFor(x => x.LastName)
    </div>

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

Html-помощники, используемые для генерации соответствующих полей формы в представлении, будут использовать атрибуты HTML5 data-* для перевода правил проверки вашей модели.Затем, просто включив сценарии jquery.validate.js и jquery.validate.unobtrusive.js на вашу страницу, эти правила будут применены при попытке отправить форму.

0 голосов
/ 16 сентября 2013

эта ссылка может помочь вам понять, как работать с проверкой на стороне клиента.

http://geekswithblogs.net/stun/archive/2011/01/28/aspnet-mvc-3-client-side-validation-summary-with-jquery-validation-unobtrusive-javascript.aspx

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