我正在使用Javascript序列化程序將模型數據傳遞給控制器,但這不會觸發代碼驗證。
下面是代碼Mvc3有效性未觸發
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/microsoftajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("#btnCreateDepartment").click(function() {
var name = $('#txtDeptName').val();
$.ajax({
data: { modelName: 'DEPARTMENT', values: Sys.Serialization.JavaScriptSerializer.serialize(
{
DeptName: name
}
)
},
url: '@Url.Action("Create", "Office")',
type: "POST",
complete: function (result) {
debugger
alert("complete");
},
error: function (result) {
debugger
alert(result.statusText);
}
}); //Endof ajax
return false;
}); //end of click
}); // end of ready
</script>
在模型中我已經添加了驗證如下
[Required(ErrorMessage = "Please Enter department")]
public string DeptName { get; set; }
但這不是被解僱。
http://stackoverflow.com/questions/5200098/asp-net-mvc-3-ajax -form-submit-and-validation。希望它可以幫助 – 2012-03-26 09:15:23