initial commit

This commit is contained in:
2016-04-15 21:38:56 -04:00
commit 1d3e8e3117
79 changed files with 16223 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
<?php
namespace XaiCorp\AbcParser\Traits;
use Illuminate\Support\MessageBag;
use Illuminate\Support\Facades\Validator;
Trait ValidationTrait
{
/**
* @var MessageBag
*/
protected $messages;
public function validate()
{
// validation
$data = $this->getAttributes();
$validator = Validator::make($data, $this->validationRules);
if ($validator->fails()) {
if (! $this->messages) {
$this->messages = new MessageBag();
}
$this->messages = $validator->getMessageBag();
return false;
}
return true;
}
/**
* @return array|MessageBag
*/
public function getMessages()
{
return $this->messages?$this->messages->toArray():[];
}
/**
* @return array
*/
public function getValidationRules()
{
return $this->validationRules;
}
/**
* fetch the validation rules for a model class
*
* @return array
*/
public static function getRules()
{
$class = get_called_class();
$instance = new $class();
return $instance->getValidationRules();
}
}