我正在使用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