我有這樣的模型(簡體)與淘汰賽ASP.NET MVC剃刀形式不會驗證
public class User
{
[Required]
public string UserName { get; set; }
// Other fields
}
與淘汰賽
viewModel
的MVC Razor視圖,看起來像這樣:
@using (Html.BeginForm("MyAction", FormMethod.Post, new { id = "profileEditorForm" }))
{
@Html.ValidationSummary(false)
@Html.LabelFor(n => n.UserName)
@Html.TextBoxFor(n => n.UserName, new { data_bind = "value: UserName" })
@Html.ValidationMessageFor(n => n.UserName)
@* Other fields *@
<p>
<input type="submit" value="Save" alt="" title="" />
<a href="/">Cancel</a>
</p>
}
<script type="text/javascript">
$(function() {
var vm = new viewModel(@(Html.Raw(Json.Encode(@Model))));
ko.applyBindings(vm);
$("#profileEditorForm").validate({
submitHandler: function(form) {
alert('Validating ' + ko.toJSON(vm));
if (vm.save)
window.location.href = "/";
return false;
}
});
});
var viewModel = function(model) {
var self = this;
self.UserName = ko.observable(model.UserName);
// Other fields
self.save = function() {
alert('Saving ' + ko.toJSON(self));
}
};
};
</script>
我無法讓它通過驗證功能(警報插入指示)給我客戶端驗證,然後直接保存並回發給MVC操作,這是無效的。
你能幫我解釋一下如何在這個表單上啓用客戶端驗證(它在web.confir中啓用)。難道淘汰賽那廢墟天(儘管所有的綁定工作完全正常,抑或是一些我在看,並沒有看到?
幫助不勝感激!