开发者社区> 问答> 正文

在学习backbnoe.js的时候遇到一个关于validate的问题?报错

var Book = Backbone.Model.extend({
        validate:function(data){
            if(data.price < 1){
                return '价格不能小于1';
            }
        }
});

var javaBook = new Book();
javaBook.on('error', function(model, value){
   console.log(value);
});

javaBook.set('price', 0);

执行后浏览器没有任何反应,没有报错也没有提示‘价格不能小于’,后来根据编辑器IDE提示data没有price,后改成  javaBook.set({price:0}); 没事了,后在找出

validate:function(data){
   if(data.price < 1){
      return '价格不能小于1';
   }
}

有问题,后改成

validate:function(data){
   if(data.price < 1){
      return '价格不能小于1';
   }

   return false;
}

编辑器没有提示错了,

但执行后还是没什么反应,

请问下怎样才可以得到我想要的结果就是提示出‘价格不能小于1’



展开
收起
爱吃鱼的程序员 2020-06-22 17:09:15 494 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    1.0.0版本 set时需要指明验证;

    javaBook.set({'price':0},{validate:true});

    2020-06-22 17:09:33
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载