有人可以帮我调用can.js中的验证函数吗? 我添加了can.jquery.js和can.map.validations.js 然后创建一个小例子:
var mymap = can.Map.extend({
init: function () {
this.validatePresenceOf('myfield'); // this line reports an error
}
});
使用此脚本加载页面时,我在浏览器中收到错误: "未捕获的TypeError:undefined不是函数"
实际上任何this.validate *函数都不起作用
经过一些研究后,我注意到当我把这段代码放在
之下时$(document).ready{}
它可以工作,但是如果我将它放入.js文件并通过标签加载 - 浏览器报告错误。
我不打算在页面本身编写所有js代码
答案 0 :(得分:0)
请参阅here它非常清楚地告诉我(上次帮助我)你必须使用$ document.ready()否则它不会工作,所以尝试制作一个新的file.js,有$ document.ready ()包含你所有的待办事项代码,并把它链接起来,我希望我在这方面很有帮助,如果不是那么让我烦恼起来我根本不介意:) ..
答案 1 :(得分:-1)
评论迟到但无论如何 - 在任何一种情况下它都不适合我,所以我只是从http://jsbin.com/jofeq/5/edit?html,js,output中取样并将其复制到我的代码中。令人惊讶的是,它在复制后起作用 - 不确定我身边出了什么问题。
在该示例中,它看起来像这样:
var Person = can.Map({
init: function () {
this.validatePresenceOf('firstName');
this.validatePresenceOf('lastName');
}
}, {});
它没有document.ready技巧或其他任何东西 - 只包含在body
标记