我試圖設置驗證與jquery驗證,並且我有從服務器回來的viewmodel,映射到客戶端,併成功地淘汰js綁定一些數據。Knockout + jquery驗證
我包含一個調用來驗證,但驗證從不觸發,但是如果我把一個類放在輸入框上,然後調用有效它觸發器按預期。
任何想法?
<script type="text/javascript">
var viewModel;
$(document).ready(function() {
$.ajax({
url: 'Home/GetUserData',
type: 'post',
success: function (data) {
viewModel = ko.mapping.fromJS(data);
viewModel.save = function() { sendToServer(); };
ko.applyBindings(viewModel);
main();
}
});
});
function main() {
$("form").validate({
rules: {
birthPlace: {
required: true,
minlength: 2
}
}
});
}
function sendToServer() {
alert($("form").valid());
}
</script>
}
<h2>@ViewBag.Message</h2>
<form id="nameSubmit" action="">
<div>
The name is: <span id="test" data-bind="text: Name"></span>
</div>
<div>
He's <span id="age" data-bind="text: Age"></span>
</div>
<div>
He's from
<input type="text" id="birthPlace" name="birthPlace"/>
</div>
<div>
<button data-bind="click: save">Click Me</button>
</div>
</form>
但onkeyup,焦點等不在我的例子中觸發。 – RubbleFord 2011-04-20 18:51:09
直到第一次提交表單時,驗證不會對關鍵點,焦點或任何其他事件執行任何操作。之後,所有這些事件都會觸發每個無效字段,直到它們被修復。 – Ryley 2011-04-20 18:53:09
這可能是,我會看看。 – RubbleFord 2011-04-20 18:56:45