學習MVC 3,我試圖使用AJAX使用客戶端驗證在MVC:MVC客戶端驗證
我已經包含在文章呼叫MVC 3客戶端驗證手動阿賈克斯職位的建議,但這並不爲我工作,它仍然認爲該表格是有效的。我在想什麼?
我已經包含在我的aplication如下:
根Web.config文件:
<appSettings>
<add key="webpages:Version" value="1.0.0.0" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
佈局網頁中的腳本:
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
我的模型:
[Table("Person")]
public class Person
{
[Key]
public int PersonID { get; set; }
[Column("FullName")]
[Required(ErrorMessage = "Give me a name.")]
public string NameFull { get; set; }
[Required(ErrorMessage = "Give me an email.")]
public string EmailAddress { get; set; }
[Required(ErrorMessage = "Give me a mobile number.")]
public string MobileNo { get; set; }
[ForeignKey("Agency")]
[Required(ErrorMessage = "Give me an agency.")]
public int AgencyID { get; set; }
public virtual Agency Agency { get; set; }
}
做Ajax調用(在一個onclick事件觸發)的方法:
function LoadPage(SFORM, SACTION, SMETHOD) {
$('#divLoading').slideDown(1);
var doc = document.getElementById(SFORM)
var dataform = $(doc).serialize();
var $form = $(doc);
if ($form.valid()) {
//Ajax call here
$.ajax({
type: SMETHOD,
url: SACTION,
data: dataform,
complete: function() {
$("#divLoading").slideUp(1, function() { FinishLoad() });
},
success: function (data) {
$("#divMain").html(data)
}
});
}
}
的視圖(.cshtml):
<form id="frmCreate" name="frmCreate">
@Html.ValidationSummary(true)
<fieldset>
<legend>Person</legend>
<div class="editor-label">
@Html.LabelFor(model => model.NameFull)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.NameFull)
@Html.ValidationMessageFor(model => model.NameFull)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.EmailAddress)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.EmailAddress)
@Html.ValidationMessageFor(model => model.EmailAddress)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.MobileNo)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.MobileNo)
@Html.ValidationMessageFor(model => model.MobileNo)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.AgencyID, "Agency")
</div>
<div class="editor-field">
@Html.DropDownList("AgencyID", String.Empty)
@Html.ValidationMessageFor(model => model.AgencyID)
</div>
<p>
<input type="button" value="Create" onclick="LoadMenuItem('frmCreate','@Url.Action("Create", "Person")', 'POST')" />
</p>
</fieldset>
</form>
您正在關注的任何文章或參考? – Yasser 2012-07-31 13:21:04