我无法在Backbone.js中执行验证
I am unable to execute validation in Backbone.js.
每当我将age属性设置为负值时,它都不会返回false。我也尝试过在控制台中执行这个代码,但仍然没有发生任何事情
<script>
var Human = Backbone.Model.extend({
// If you return a string from the validate function,
// Backbone will throw an error
defaults: {
name: 'Guest user',
age: 23,
occupation: 'worker'
},
validate: function( attributes ){
if( attributes.age < 0){
return "Age must me positive";
}
if( !attributes.name ){
return 'Every person must have a name';
}
},
work: function(){
return this.get('name') + ' is working';
}
});
var human = new Human;
human.set("age", -10);
human.on('error', function(model, error){
console.log(error);
});
</script>
您的代码有一些错误:
- 验证的事件是
invalid
,error
用于ajax请求 - 默认情况下不会对集合进行验证,您需要将
{ validate: true }
作为一个选项进行传递 - 您正在侦听事件AFTER设置,因此不会为该设置调用它
即:
human.on('invalid', function(model, error) {
console.log(error);
});
human.set("age", -10, { validate: true });
相关文章:
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 如何在Knockout中对输入字段执行内联验证
- jQuery表单验证(如果==“执行此操作”)仅适用于第一次输入
- 使用html 5对元素执行自定义表单验证功能
- 未执行Ajax隐藏表单提交验证
- 已执行部分验证
- 在自动填充后,在UIWebView中执行Javascript后验证Label的长度
- 验证XHR和标准执行之间的区别
- 客户端自定义验证不是't正在执行
- 一键点击首先调用javascript,执行验证,然后调用控制器方法
- 验证指令代码在ng重复中的每个项目上执行
- 如何使用angular js验证器执行下拉控件验证
- Node.JS - 如何在 JS 中对动态文件名执行验证
- 用于对选择选项执行验证的 JavaScript 代码
- 以 JSF 形式对 p:dialog 执行验证
- 我无法在Backbone.js中执行验证
- 在后台执行验证表单的ajax调用时,不会触发(或忽略)Click Event
- 在lotus notes中从另一个表单获取字段值,以便在web上执行验证
- 从javascript调用button.click()不会对按钮执行验证属性
- javascript表单验证-函数无法执行验证