2014-12-10 1 views
0

Я работаю над проектом упражнений MVC 4, где у меня есть несколько частичных представлений, и когда я отправляю на одном из них, вся страница проверяется. Я хочу, чтобы каждая кнопка проверяла только свои собственные формы.MVC 4 - Проверить только одну форму с несколькими частичными представлениями

страница выглядит следующим образом:

enter image description here

это вид частичный пример:

@model Money.Models.Category 

<script src="~/Scripts/jquery-1.7.1.min.js"></script> 
<script src="~/Scripts/jquery.validate.min.js"></script> 
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script> 

@using (Html.BeginForm("Create", "Category", FormMethod.Post, new { id = "createCategoryForm" })) 
{ 
    @Html.ValidationSummary(true) 

    <fieldset> 
     <legend>Category</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> 

     <p> 
      <input id="createCategorySubmit" type="submit" value="Create" /> 
     </p> 
    </fieldset> 
} 

И это часть всего представления:

@model Money.Models.Transaction 

@{ 
    ViewBag.Title = "Create"; 
} 

<h2>Create</h2> 

@using (Html.BeginForm()) { 
    @Html.ValidationSummary(true) 

    <fieldset> 
     <legend>Transaction</legend> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.CategoryId, "Category") 
     </div> 
     <div class="editor-field"> 
      @Html.DropDownList("CategoryId", String.Empty) 
      @Html.ValidationMessageFor(model => model.CategoryId) 
     </div> 

     <div id="createCategory"> 
      @Html.Partial("~/Views/Shared/_CreateCategory.cshtml") 
     </div> 

     <div class="editor-label"> 
      @Html.LabelFor(model => model.AccountId, "Accout") 
     </div> 
     <div class="editor-field"> 
      @Html.DropDownList("AccountId", String.Empty) 
      @Html.ValidationMessageFor(model => model.AccountId) 
     </div> 

     <div id="createAccount"> 
      @Html.Partial("~/Views/Shared/_CreateAccount.cshtml") 
     </div> 

У вас какая-то идея?

Спасибо

ответ

0

Вы должны разобрать новый контент с валидатора:

$('form').data('validator', null); 
$.validator.unobtrusive.parse($('form')); 
+0

Я пытался что-то вроде этого, но это не работает $ (документ) .ready (функция() { $ ("# createCategorySubmit"). Click (function() { $ ("# createCategoryForm"). Data ('validator', null); $ .validator.unobtrusive.parse ($ ("# createCategoryForm")) }); }); –

 Смежные вопросы

  • Нет связанных вопросов^_^