Version: current

     1 <?php
     2 /**
     3  * Exception thrown by {@link DataObject}::write if validation fails. By throwing an
     4  * exception rather than a user error, the exception can be caught in unit tests and as such
     5  * can be used as a successful test.
     6  *
     7  * @package sapphire
     8  * @subpackage validation
     9  */
    10 class ValidationException extends Exception {
    11
    12     /**
    13      * @var {@link ValidationResult} or string
    14      */
    15     protected $result;
    16
    17     public function __construct($result = null, $message = null, $code = 0) {
    18         if($result instanceof ValidationResult) {
    19             $this->result = $result;
    20         } else {
    21             $code = $message;
    22             $message = $result;
    23         }
    24
    25         parent::__construct($message, $code);
    26     }
    27
    28     public function getResult() {
    29         return $this->result;
    30     }
    31 }
    32 ?>

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -