code: function(option) {
            var flattened, attrs, error, invalidAttrs;
  
            option = option || getOptionsAttrs(options, view);
  
            if(_.isString(option)){
              attrs = [option];
            } else if(_.isArray(option)) {
              attrs = option;
            }
            if (attrs) {
              flattened = flatten(this.attributes);
              //Loop through all associated views
              _.each(this.associatedViews, function(view) {
                _.each(attrs, function (attr) {
                  error = validateAttr(this, attr, flattened[attr], _.extend({}, this.attributes));
                  if (error) {
                    options.invalid(view, attr, error, options.selector);
                    invalidAttrs = invalidAttrs || {};
                    invalidAttrs[attr] = error;
                  } else {
                    options.valid(view, attr, options.selector);
                  }
                }, this);
              }, this);
            }
  
            if(option === true) {
              invalidAttrs = this.validate();
            }
            if (invalidAttrs) {
              this.trigger('invalid', this, invalidAttrs, {validationError: invalidAttrs});
            }
            return attrs ? !invalidAttrs : this.validation ? this._isValid : true;
          }
docs: Check to see if an attribute, an array of attributes or the entire model is valid. Passing true will force a validation of the model.