Knockoutjs 验证问题 - self.errors().length
Posted
技术标签:
【中文标题】Knockoutjs 验证问题 - self.errors().length【英文标题】:Knockoutjs Validation issue - self.errors().length 【发布时间】:2014-06-30 22:50:26 【问题描述】:我已经包含了:
淘汰赛.3.0.1.js
knockout.validation.debug.js
jquery.validate.js
错误是:(来自 Firebug)
TypeError: self.errors is not a function
除了验证所有其他代码都是完美的。
我的代码
var UserViewModel = function (UserName, Password)
var self = this;
self.UserName = ko.observable(UserName).extend(
required:
message:"Please enter User Name"
);
self.Password = ko.observable(Password).extend(
required:
message: "Please enter Password"
);
this.loginClick = function ()
if (self.errors().length == 0)
alert('no errors');
// var strJSON = ko.toJSON(self); //Convert whole model to json
else
alert("Please check your submission");
self.errors.showAllMessages();
alert("function called");
;
;
ko.applyBindings(new UserViewModel('', ''));
【问题讨论】:
你能提供jsfiddle吗,很明显error属性不在self范围内 jsfiddle.net/d8heg - fsfiddle 你在哪里定义 self.errors()? 我没有定义,我认为是在 knockoutjs 库中 不,不是,您需要指定自己的errors
对象。您可能应该更多地阅读 knockout.validation 插件。
【参考方案1】:
您忘记创建验证组:
this.errors = ko.validation.group(self);
创建验证组,错误将得到解决
【讨论】:
以上是关于Knockoutjs 验证问题 - self.errors().length的主要内容,如果未能解决你的问题,请参考以下文章
Knockoutjs 验证问题 - self.errors().length
使用 knockoutjs 时 Chrome 中的 Maxlength 约束验证异常
html KnockoutJSで,验证通した値でCSSの変更を行いたい场合のサンプル