我试图设置验证与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