Laravel Eloquent model with built-in validation