code: function(attributes, constraints, options) {
        var results = []
          , attr
          , validatorName
          , value
          , validators
          , validator
          , validatorOptions
          , error;
  
        if (v.isDomElement(attributes) || v.isJqueryElement(attributes)) {
          attributes = v.collectFormValues(attributes);
        }
  
        // Loops through each constraints, finds the correct validator and run it.
        for (attr in constraints) {
          value = v.getDeepObjectValue(attributes, attr);
          // This allows the constraints for an attribute to be a function.
          // The function will be called with the value, attribute name, the complete dict of
          // attributes as well as the options and constraints passed in.
          // This is useful when you want to have different
          // validations depending on the attribute value.
          validators = v.result(constraints[attr], value, attributes, attr, options, constraints);
  
          for (validatorName in validators) {
            validator = v.validators[validatorName];
  
            if (!validator) {
              error = v.format("Unknown validator %{name}", {name: validatorName});
              throw new Error(error);
            }
  
            validatorOptions = validators[validatorName];
            // This allows the options to be a function. The function will be
            // called with the value, attribute name, the complete dict of
            // attributes as well as the options and constraints passed in.
            // This is useful when you want to have different
            // validations depending on the attribute value.
            validatorOptions = v.result(validatorOptions, value, attributes, attr, options, constraints);
            if (!validatorOptions) {
              continue;
            }
            results.push({
              attribute: attr,
              value: value,
              validator: validatorName,
              globalOptions: options,
              attributes: attributes,
              options: validatorOptions,
              error: validator.call(validator,
                  value,
                  validatorOptions,
                  attr,
                  attributes,
                  options)
            });
          }
        }
  
        return results;
      }
docs: Runs the validators specified by the constraints object. Will return an array of the format: [{attribute: "<attribute name>", error: "<validation result>"}, ...]