code: function () {
      var self = this;
  
      for (var attribute in this.rules) {
        var attributeRules = this.rules[attribute];
        var inputValue = this._objectPath(this.input, attribute);
  
        if (this._hasRule(attribute, ['sometimes']) && !this._suppliedWithData(attribute)) {
          continue;
        }
  
        for (var i = 0, len = attributeRules.length, rule, ruleOptions, rulePassed; i < len; i++) {
          ruleOptions = attributeRules[i];
          rule = this.getRule(ruleOptions.name);
  
          if (!this._isValidatable(rule, inputValue)) {
            continue;
          }
  
          rulePassed = rule.validate(inputValue, ruleOptions.value, attribute);
          if (!rulePassed) {
            this._addFailure(rule);
          }
  
          if (this._shouldStopValidating(attribute, rulePassed)) {
            break;
          }
        }
      }
  
      return this.errorCount === 0;
    }
docs: Run validator
  
  @return {boolean} Whether it passes; true = passes, false = fails