Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 主干验证不适用于保存_Backbone.js_Backbone.validation.js - Fatal编程技术网

Backbone.js 主干验证不适用于保存

Backbone.js 主干验证不适用于保存,backbone.js,backbone.validation.js,Backbone.js,Backbone.validation.js,我有一个使用Backbone.Validations插件的简单模型 var LocationModel = Backbone.Model.extend({ validation: { location_name: { required : true, msg : 'A name is required for the location' } } // end validation }); var test = new Lo

我有一个使用
Backbone.Validations插件的简单模型

var LocationModel = Backbone.Model.extend({
validation: {
     location_name: {
         required   : true,
         msg        : 'A name is required for the location'
    }
} // end validation
});

var test = new LocationModel();
test.url = 'http://link-goes-here';
test.save();

似乎在保存事件中,它正在继续并保存我的空模型,即使属性“location\u name”是必需的?

我刚刚做了一系列测试,唯一能让它始终不发送请求的方法是在模型上创建默认值:

var LocationModel = Backbone.Model.extend({
    defaults: {
        location_name: null
    },
    validation: {
        location_name: {
            required: true,
            msg: 'A name is required for the location'
        }
    } // end validation
});

var test = new LocationModel();
test.on('validated', function() {
    console.log(arguments);
});
test.url = '/echo/json';

test.save();
这是一个例子。如果您注释掉
默认值
,则它最初会发送一个请求,即使
已验证
事件表示该请求无效。然后再次激发
validated
,而不发送请求