客戶端驗證,我在我的應用程序啓用不顯眼的客戶端驗證,我有這個模型(類似的東西):ASP.NET MVC 3不顯眼的動態內容
public class MyModel
{
[Required]
public string Name { get; set; }
[Range(0, 100)]
public int? Age { get; set; }
}
我有以下/首頁/索引視圖:
@model MyModel
@using (Html.BeginForm("Test", "Home"))
{
<div id="my-form">
@Html.Partial("Model")
</div>
<input type="submit" value="Go" />
}
隨着部分 「模式」:
@model MyModel
<div>
@Html.LabelFor(x => x.Name)
@Html.TextBoxFor(x => x.Name)
@Html.ValidationMessageFor(x => x.Name)
</div>
<div>
@Html.LabelFor(x => x.Age)
@Html.TextBoxFor(x => x.Age)
@Html.ValidationMessageFor(x => x.Age)
</div>
一切都是白鬼,嘟嘟,我得到很好的驗證錯誤信息。
現在我想加載窗體/部分「模型」動態,即遠程的@ Html.Partial並添加以下內容:
<a href="#" id="load-form">Load the form</a>
<script type="text/javascript">
$(function() {
$("#load-form").click(function() {
$.post(
"/Home/Test",
null,
function (result) {
$("#my-form").html(result);
$.validator.unobtrusive.parse($("#my-form"));
},
"html");
});
});
</script>
凡/首頁/測試是return Partial("Model", new MyModel());
但現在的客戶端驗證不再工作了,如果我看着DOM和HTML返回數據 - 屬性不呈現,即:
使用H tml.Partial()在/ home /索引
<div>
<label for="Name">Name</label>
<input data-val="true" data-val-required="The Name field is required." id="Name" name="Name" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="Name" data-valmsg-replace="true"></span>
</div>
<div>
<label for="Age">Age</label>
<input data-val="true" data-val-number="The field Age must be a number." data-val-range="The field Age must be between 0 and 100." data-val-range-max="100" data-val-range-min="0" id="Age" name="Age" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="Age" data-valmsg-replace="true"></span>
</div>
XHR響應
<div>
<label for="Name">Name</label>
<input id="Name" name="Name" type="text" value="" />
</div>
<div>
<label for="Age">Age</label>
<input id="Age" name="Age" type="text" value="" />
</div>
即使我明確驗證的東西是不會呈現局部視圖中添加Html.EnableClientValidation();
和Html.EnableUnobtrusiveJavaScript();
。
如何讓我的AJAX部分呈現驗證屬性和消息?或者我還能做什麼錯?
任何想法,如果你不能把Html.BeginForm放在相同的部分,你會怎麼做這個工作? (例如,如果你是添加一個集合的子實體) – 2011-08-10 17:18:49
沒有不幸的是,實際情況也增加了一個集合,並沒有真正找到解決方案... – veggerby 2011-08-10 21:48:18
認爲我們想通了: - http://堆棧溢出。com/questions/7015526/asp-net-mvc-3-unobtrusive -jquery-client-side-validation-with-child-collections – 2011-08-10 21:53:54