这是我目前未经修改的代码:http://jsfiddle.net/XABtF/
我目前正在使用jQuery Validation& Knockout Validation
我已经阅读了两者的文档,并尝试将它们应用到我现有的脚本中,两者都没有成功运行。以下是我尝试实施Knockout验证的方法:http://jsfiddle.net/yNVeF/
我的脚本非常简单,我想将验证放在两个这样的observable上:
self.emailAdd = ko.observable("");
我试过这样做:
self.emailAdd = ko.observable("").extend({required: { message: 'Please supply your email address.' }});
答案 0 :(得分:1)
将jQuery验证放在我的applyBindings下面,并将视图模型名称绑定为' save':
$("#getAcc").validate({ submitHandler: authViewModel.save });
答案 1 :(得分:0)
编辑:根据下面的评论,如果您使用验证插件,扩展器就是其中的一部分 - 如果不是...... /编辑
扩展程序未预先编写 - 您需要添加自己的必需扩展程序,如此处的文档所示。
http://knockoutjs.com/documentation/extenders.html
ko.extenders.required = function(target, overrideMessage) {
//add some sub-observables to our observable
target.hasError = ko.observable();
target.validationMessage = ko.observable();
//define a function to do validation
function validate(newValue) {
target.hasError(newValue ? false : true);
target.validationMessage(newValue ? "" : overrideMessage || "This field is required");
}
//initial validation
validate(target());
//validate whenever the value changes
target.subscribe(validate);
//return the original observable
return target;
};