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
Validation 主干验证如何执行或基于条件的验证_Validation_Backbone.js - Fatal编程技术网

Validation 主干验证如何执行或基于条件的验证

Validation 主干验证如何执行或基于条件的验证,validation,backbone.js,Validation,Backbone.js,在我的基于主干网的项目中,我有一个表单,其中只有一组特定的输入字段是必需的。例如,输入电话号码的输入框,或包含电话号码的上载文件 我正在尝试使用Dersen主干验证。所有的验证模式和方法似乎都是以每个字段为基础的,而不是以组合或组合为基础的 有没有一种方法可以编写一个验证器来说明只有一个字段是必需的?你真的不需要使用插件,主干网已经有了 您所需要做的就是解析表单,将其存储到您的模型中,然后保存它。默认情况下将运行验证 例如: var Address = Backbone.Model.extend

在我的基于主干网的项目中,我有一个表单,其中只有一组特定的输入字段是必需的。例如,输入电话号码的输入框,或包含电话号码的上载文件

我正在尝试使用Dersen主干验证。所有的验证模式和方法似乎都是以每个字段为基础的,而不是以组合或组合为基础的


有没有一种方法可以编写一个验证器来说明只有一个字段是必需的?

你真的不需要使用插件,主干网已经有了

您所需要做的就是解析表单,将其存储到您的模型中,然后保存它。默认情况下将运行验证

例如:

var Address = Backbone.Model.extend({
  validate: function(attrs, options) {
    if (!attrs.phone1 && !attrs.phone2) {
      return "You must provide at least 1 phone number";
    }
  }
});
您可以为该特殊情况定义一个。在该函数中,您可以检查是否至少提供了一个选项(电话号码或文件)

大概是这样的:

validation: {
  attribute: {
    required: function(val, attr, computed) {
      return !(val || app.models.phoneFile)
    }
  }
}

我自己还没有使用backbone.validation,但是通过查看文档,您可以通过向所需属性提供函数来实现这一点