You are here

class Braintree_Error_ErrorCollection in Commerce Braintree 7

Handles validation errors

Contains a read-only property $error which is a ValidationErrorCollection

@package Braintree @subpackage Errors @category Errors @copyright 2010 Braintree Payment Solutions

@property-read object $errors

Hierarchy

Expanded class hierarchy of Braintree_Error_ErrorCollection

File

braintree_php/lib/Braintree/Error/ErrorCollection.php, line 25

View source
class Braintree_Error_ErrorCollection {
  private $_errors;
  public function __construct($errorData) {
    $this->_errors = new Braintree_Error_ValidationErrorCollection($errorData);
  }

  /**
   * Returns all of the validation errors at all levels of nesting in a single, flat array.
   */
  public function deepAll() {
    return $this->_errors
      ->deepAll();
  }

  /**
   * Returns the total number of validation errors at all levels of nesting. For example,
   *if creating a customer with a credit card and a billing address, and each of the customer,
   * credit card, and billing address has 1 error, this method will return 3.
   *
   * @return int size
   */
  public function deepSize() {
    $size = $this->_errors
      ->deepSize();
    return $size;
  }

  /**
   * return errors for the passed key name
   *
   * @param string $key
   * @return mixed
   */
  public function forKey($key) {
    return $this->_errors
      ->forKey($key);
  }

  /**
   * return errors for the passed html field.
   * For example, $result->errors->onHtmlField("transaction[customer][last_name]")
   *
   * @param string $field
   * @return array
   */
  public function onHtmlField($field) {
    $pieces = preg_split("/[\\[\\]]+/", $field, 0, PREG_SPLIT_NO_EMPTY);
    $errors = $this;
    foreach (array_slice($pieces, 0, -1) as $key) {
      $errors = $errors
        ->forKey(Braintree_Util::delimiterToCamelCase($key));
      if (!isset($errors)) {
        return array();
      }
    }
    $finalKey = Braintree_Util::delimiterToCamelCase(end($pieces));
    return $errors
      ->onAttribute($finalKey);
  }

  /**
   * Returns the errors at the given nesting level (see forKey) in a single, flat array:
   *
   * <code>
   *   $result = Braintree_Customer::create(...);
   *   $customerErrors = $result->errors->forKey('customer')->shallowAll();
   * </code>
   */
  public function shallowAll() {
    return $this->_errors
      ->shallowAll();
  }

  /**
   *
   * @ignore
   */
  public function __get($name) {
    $varName = "_{$name}";
    return isset($this->{$varName}) ? $this->{$varName} : null;
  }

  /**
   *
   * @ignore
   */
  public function __toString() {
    return sprintf('%s', $this->_errors);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Braintree_Error_ErrorCollection::$_errors private property
Braintree_Error_ErrorCollection::deepAll public function Returns all of the validation errors at all levels of nesting in a single, flat array.
Braintree_Error_ErrorCollection::deepSize public function Returns the total number of validation errors at all levels of nesting. For example, if creating a customer with a credit card and a billing address, and each of the customer, credit card, and billing address has 1 error, this method will return 3.
Braintree_Error_ErrorCollection::forKey public function return errors for the passed key name
Braintree_Error_ErrorCollection::onHtmlField public function return errors for the passed html field. For example, $result->errors->onHtmlField("transaction[customer][last_name]")
Braintree_Error_ErrorCollection::shallowAll public function Returns the errors at the given nesting level (see forKey) in a single, flat array:
Braintree_Error_ErrorCollection::__construct public function
Braintree_Error_ErrorCollection::__get public function @ignore
Braintree_Error_ErrorCollection::__toString public function @ignore