私はこの問題を抱えています。部分ビューにフォームがありますが、検証時に親ビューから飛び出し、独自に表示されます (送信アクション URL を持つ)。
また、検証がまったく起動しないRender.Actionを試しました。
私は ASP.NET MVC 2 RC を使用しており、組み込みの検証を使用してサーバー側の検証が機能する必要があります。誰にも何か提案がありますか?
ありがとう
コード部分ビュー:
<%=Html.ValidationSummary() %>
<% using (Html.BeginForm("Edit", "Category", FormMethod.Post))
{%>
<fieldset>
<legend>Edit category</legend>
<p>
<label for="CategoryName">Category name:</label>
<%= Html.TextBox("CategoryName", Model.CategoryName)%>
<%= Html.ValidationMessage("CategoryName", "*")%>
</p>
<p class="submit">
<input type="submit" value="Edit" />
<%=Html.AntiForgeryToken()%>
<%= Html.Hidden("CatId", Model.Id)%>
</p>
</fieldset>
<% }
モデル プロパティ:
[Required(ErrorMessage="Required")]
public string CategoryName { get; set; }
アクションの編集:
[ValidateAntiForgeryToken]
[HttpPost()]
public ActionResult Edit(int catId, CategoryPageViewModel categoryModel)
{
if (ModelState.IsValid)
{
//TODO
}
return View("list", categoryModel);
}