내 EF 생성 클래스의 추상화를 나타내는 사용자 정의 viewModels를 사용하여 눈에 띄지 않는 유효성 검사를 수행 할 수 없습니다.viewmodels 및 눈에 거슬리지 않은 유효성 검사 mvc3
시도해 볼 수있는 것처럼 시도 할 때 내 도시 엔티티에있는 Name
속성의 양식 제출시 유효성 검사가 실행되지 않습니다. 나는 그것이보기에있는 다른 모델들과 관련이 있다고 믿지만 단순히 그것이 어떻게 작동하는지 충분히 알지 못합니다.
양해 바랍니다. 모든 최신 유효성 검사 스크립트를 가지고 있으며 firebug 및 firequery를 사용하여 페이지를 관찰 할 때 스크립트가 입력에서 유효한 클래스를 추가 및 제거하지만 입력이 유효성 검사 컬렉션의 일부가 아닌 것을 볼 수 있습니다.
미리 감사드립니다.
내 뷰 모델 :
/// <summary>
/// Represents abstraction of the City View that also serves in
/// data binding between the City View and the City Model.
/// </summary>
public class CityViewModel
{
/// <summary>
/// Gets or sets the city.
/// </summary>
/// <value></value>
public City City { get; set; }
/// <summary>
/// Gets or sets the collection of states.
/// </summary>
/// <value></value>
public ICollection<State> States { get; set; }
}
내 CreateCity보기 :
@model OzFarmGuide.ViewModels.CityViewModel
@{
ViewBag.Title = "Create a new city";
Layout = "~/Views/Shared/_AdminLayout.cshtml";
}
<h2>
Create a new city</h2>
@using (Html.BeginForm())
{
@Html.EditorFor(model => model.City, new { States = Model.States })
<div class="entity-actions">
<input type="submit" value="Create" />
|
@Html.ActionLink("Back to List", "Cities")
</div>
}
내 편집기 템플릿 (_ValidationPartial 그냥 스크립트 참조를 포함)
여기 요청으로@model OzFarmGuide.Models.City
@Html.Partial("_ValidationPartial")
@Html.ValidationSummary(true)
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.State)
</div>
<div class="editor-field">
@Html.DropDownList("StateId",
new SelectList(ViewBag.States as System.Collections.IEnumerable,
"StateId", "Name",
Model.StateId))
</div>
@Html.HiddenFor(model => model.CityId)
는 스크립트입니다 나는 다음을 포함했다 :
<script src="@Url.Content("http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
포함 된 Js 스크립트는 무엇입니까? jquery.unobtrusive-ajax.js가 포함되어 있지 않다는 느낌이 들었습니다. –
@amit_g : 나는 그 스크립트를 포함시키지 않았지만 아약스 게시물에만 필요하다는 것을 알고 있었다. 나는 참고 문헌을 추가했지만 슬프게도 변화가 없다. –
정확히 어떤 스크립트가 포함되어 있는지 게시 할 수 있습니까? 아마도 _AdminLayout.cshtml에있을 것입니다. –