Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/JeffreyWay/Laravel-Model-Validation

This Laravel package auto-validates a model on save.
https://github.com/JeffreyWay/Laravel-Model-Validation

Last synced: 14 days ago
JSON representation

This Laravel package auto-validates a model on save.

Awesome Lists containing this project

README

        

# Auto-Validate On Save
This package takes care of the model validation process for you. Rather than manually going through the tedious `Validator::make(...)` process, just save the model, and this package will handle the rest.

## Usage
Install the package through Composer.

```js
{
"require": {
"laravel/framework": "4.0.*",
"way/database": "dev-master"
}
}
```

Then, rather than extending `Eloquent` from your model, extend `Way\Database\Model`, like so:

```php
'Way\Database\Model'
```
Now, your models can simply extend `Model`.

```php
'required'
];

//Use this for custom messages
protected static $messages = [
'name.required' => 'My custom message for :attribute required'
];
}
```

Now, simply save the model as you normally would, and let the package worry about the validation. If it fails, then the model's `save` method will return false.

Here's an example of storing a new dog.

```php
public function store()
{
$dog = new Dog(Input::all());

if ($dog->save())
{
return Redirect::route('dogs.index');
}

return Redirect::back()->withInput()->withErrors($dog->getErrors());
}
```

If using Eloquent's static `create` method, you can use the `hasErrors()` methods to determine if validation errors exist.

```php
$dog = Dog::create(Input::all());

if ($dog->hasErrors()) ...
```
That's it! Have fun.