骨干模型中的验证
Validation in Backbone Models
我正在遵循这些https://tutsplus.com/course/connected-to-the-backbone/讲座学习主干,我知道每当我们设置模型内任何变量的值时,都会调用validate()
函数(如果存在)。我写了这个模型:
var PersonModel = Backbone.Model.extend({
defaults: {
name: 'Kamran Ahmed',
rollNo: '1224',
email: 'kamranahmed.se@gmail.com'
},
validate: function (attrs){
if ( !attrs.name ) {
return 'You must provide a name';
}
if ( attrs.rollNo < 0) {
return 'Roll Number must be positive';
}
}
});
我正在尝试以下内容:
var person = new PersonModel();
person.set('rollNo', -100) // trying to violate the validation rule
但是它从不验证,即值CCD_ 2仍然被分配给CCD_。此外,当我执行person.set('rollNo', -100)
时,它会不断返回整个对象,而当违反验证规则时,它应该返回false。我在这里做错了什么?为什么没有进行验证?
来自文档:
By default validate is called before save, but can also be called before set if
{validate:true} is passed.
所以你需要像这样使用它:
person.set({'rollNo':-100},{validate:true})
您可以阅读Backbone.Model
的验证信息。
附带说明:教程似乎是针对Backbone 0.9.2的,而当前版本是1.1.0。请考虑查找最新的教程,或阅读更改日志。
相关文章:
- 如何在不使用mvc 4中的模型的情况下进行客户端验证
- 如何在不通过模型验证的情况下屏蔽文本输入中输入的字符
- 概念验证模型控制器调用正确的实例
- 跳过Sails.js中的模型验证
- 主干.js:为每个模型添加验证
- 骨干模型中的验证
- Kendo UI自定义验证不适用于模板和视图模型
- 根据模型验证,显示弹出消息或视图
- 使用ajax的javascript应用程序的身份验证模型
- 骨干模型验证问题
- Select选项包含在验证模型MVC时不起作用
- 如何在运行验证时保持ng模型值
- 在使用 BackboneJS 模型时验证 ReactJS 输入
- AngularJS 无法自定义验证模型数组值
- 续集模型的客户端模型验证
- 在没有模型的 MVC 3 中进行验证
- 访问 Twitter API - 身份验证和骨干模型
- 如何在 NodeJS 中使用续集设置模型验证
- 骨干js中的验证模型
- js非常简单的验证模型不工作-跟随webtuts教程