asp.net mvc3 응용 프로그램에서 클라이언트 유효성 검사에 문제가 있습니다.asp.net mvc3 jquery UI 대화 상자 및 클라이언트 유효성 검사
내 코드는 같습니다
function loadEditCategoryDialog(categoryId) {
$.ajax({
url : "/rovastamp3/Admin/CategoryEditDialog",
data : "categoryId="+categoryId,
success : function(data){
$("#popup_dialog").html(data);
$("#popup_dialog").dialog({
modal: true,
draggable: false,
resizable: false,
title: "Upravit kategorii",
width: 600,
height: 500,
});
}
});
}
컨트롤러 :
[HttpGet]
public ActionResult CategoryEditDialog(int categoryId)
{
CategoryEditViewModel categoryEditViewModel = new CategoryEditViewModel();
categoryEditViewModel.Category = _postAuctionCategoryRepo.Query()
.SingleOrDefault(x => x.Id == categoryId);
return PartialView(categoryEditViewModel);
}
[HttpPost]
public ActionResult CreateNewCategory(CategoryEditViewModel categoryEditViewModel)
{
if (ModelState.IsValid)
{
return RedirectToAction("Index");
}
return View("CategoryEditDialog", categoryEditViewModel);
}
그리고 마지막으로 내 부분보기 : 내 Web.config의에서
@model Rovastamp.MVC3.ViewModels.AdminController.CategoryEditViewModel
<h2>Upravit kategorii @Model.Category.Name</h2>
@{Html.EnableClientValidation();}
@using (Html.BeginForm("CreateNewCategory", "Admin"))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Objednávkový formulář</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Category.Name)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Category.Name)
@Html.ValidationMessageFor(model => model.Category.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Category.Position)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Category.Position)
@Html.ValidationMessageFor(model => model.Category.Position)
</div>
<input type="submit" value="Upravit" class="submit_button" />
</fieldset>
}
내가 UnobtrusiveJavaScript 및 ClientValidatin 응용 프로그램 설정에 설정 .
jquery UI 대화 상자의 제출 단추를 클릭하면 mvc가 클라이언트 유효성 검사없이 완전 새로 고침을 수행합니까?
어디에 문제가 있습니까? 어떤 도움
덕분에
는 편집 :
- -jquery.unobtrusive은 ajax.js
- jquery.validate.js : 내 레이아웃 페이지에서 내가이 스크립트를 포함
- jquery.validate.unobtrusive.js
은 내가 넣어 :
내가 JQuery와 UI 대화와 클라이언트 유효성 검사를 호출하기 전에jQuery.validator.unobtrusive.parse('#popup_dialog');
가 완벽하게 작동합니다.
고마워요. 그것은 작동합니다 :) – Mennion
+1 소원 내가 더 데이비드 당신을 높일 수 있습니다. 정확히 내가 필요로했던 것. – gnome
@gnome :) 당신은 그의 프로필을 열어 그의 대답과 질문을 모두 올릴 수 있습니다. 모든 것이 가능합니다. – Omu