Tengo un problema con la validación del cliente en la aplicación asp.net mvc3.asp.net mvc3 jquery ui diálogo y validación del cliente
Mi código es:
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,
});
}
});
}
controlador:
[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);
}
Y por último, mi vista parcial:
@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>
}
En mi web.config Encendí configuración de la aplicación javascript no obstructivo y ClientValidatin .
Si hago clic en el botón Enviar en el diálogo de jquery ui, mvc realiza una actualización completa sin la validación del cliente?
¿Dónde está el problema?
Gracias por cualquier ayuda
EDIT:
En mi página Diseño Incluyo este guiones:
- -jquery.unobtrusive ajax.js
- jquery.validate.js
- jquery.validate.unobtrusive.js
EDIT 2
En mi exemaple que puse:
jQuery.validator.unobtrusive.parse('#popup_dialog');
antes de que llame de diálogo jQuery UI y validación del cliente funciona perfectamente.
Muchas gracias. Funciona :) – Mennion
+1 Desearía poder animarte más David. Exactamente lo que he estado necesitando. – gnome
@gnome :) puede abrir su perfil y upvote todos sus respuestas y preguntas, todo es posible – Omu