Согласно этому определению здесь :
Ненавязчивый JavaScript избегает внедрения встроенного JavaScript в HTML. Это делает ваш HTML меньше и менее загроможденным, а также облегчает замену или настройку библиотек JavaScript.
Однако при чтении этого блога :
Блоггер говорит:
Теперь для того, чтобы выполнить проверку с нетерпением, т. Е. Выполнять проверку каждый раз, когда выделяются поля пользователей, необходимо добавить этот сценарий внизу страницы.
Я не знаю, запутался ли я, но для меня ненавязчивая проверка javascript означает простыми словами: никакого кода JAVASCRIPT на странице, только ссылки на файлы .js с логикой. Таким образом вы отделяете логику валидации от презентации.
С учетом сказанного я хотел бы включить ненавязчивую проверку в моей следующей форме. Единственное отличие, которое я вижу:
1. Строка 1: у меня ее нет.
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<EagerlyPerformingValidation.Models.UserInformation>
- Я должен добавить логику jquery во внешний файл javascript и сослаться на него.
Я что-то здесь упускаю ??
public class Position{
[DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)]
public int PositionID { get; set; }
[Required(ErrorMessage = "Position name is required.")]
[StringLength(20, MinimumLength = 3, ErrorMessage = "Name should not be longer than 20 characters.")]
[Display(Name = "Position name")]
public string name { get; set; }
[Required(ErrorMessage = "Number of years is required")]
[Display(Name = "Number of years")]
[YearsValidationAttribute(5, ErrorMessage = "{0} value must be greater than {1} years.")]
public int yearsExperienceRequired { get; set; }
public virtual ICollection<ApplicantPosition> applicantPosition { get; set; }
}
@model Data.Model.Position
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<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>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Position</legend>
<div class="editor-label">
@Html.LabelFor(model => model.name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.name)
@Html.ValidationMessageFor(model => model.name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.yearsExperienceRequired)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.yearsExperienceRequired)
@Html.ValidationMessageFor(model => model.yearsExperienceRequired)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>