code: function(option) {
            var flattened, attrs, error, invalidAttrs;
  
            option = option || getOptionsAttrs(options);
  
            if(_.isString(option)){
              attrs = [option];
            } else if(_.isArray(option)) {
              attrs = option;
            }
            if (attrs) {
              // Loop through all attributes
              _.each(attrs, function (attr) {
                var value;
                if (isNestedModel(this)) {
                  value = this.get(attr);
                } else {
                  value = flatten(this.attributes)[attr];
                }
                error = validateAttr(this, value, attr);
                if (error) {
                  invalidAttrs = invalidAttrs || {};
                  invalidAttrs[attr] = error;
                }
              }, 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.