-
Notifications
You must be signed in to change notification settings - Fork 29
Example
Bilal Gültekin edited this page Jul 30, 2015
·
1 revision
Controller/Route side
class UserController extends Controller {
public $createValidation = ['name' => 'required|max:255', 'username' => 'required|regex:/^[a-z\-]*$/|max:20', 'email' => 'required|email', 'age' => 'numeric'];
public $createColumns = ['name', 'username', 'email', 'age'];
public function getCreate()
{
Form::setValidation($this->createValidation);
return View::make('user.create');
}
public function postCreate()
{
$inputs = Input::only($this->createColumns);
$rules = $this->createValidation;
$validator = Validator::make($inputs, $rules);
if($validator->fails())
{
// actually withErrors is not really neccessary because we already show errors at client side for normal users
return Redirect::back()->withErrors($validator);
}
// try to create user
return Redirect::back()->with('success', 'User is created successfully');
}
}
View side
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Laravalid</title>
</head>
<body>
{{ Form::open('url'=>'create', 'method'=>'post') }}
{{ Form::text('name') }}
{{ Form::text('username') }}
{{ Form::email('email') }}
{{ Form::number('age') }}
{{ Form::close() }}
<script src="{{ asset('js/jquery-1.10.2.min.js') }}"></script>
<script src="{{ asset('js/jquery.validate.min.js') }}"></script>
<script src="{{ asset('js/jquery.validate.laravalid.js') }}"></script>
<script type="text/javascript">
$('form').validate({onkeyup: false});
</script>
</body>
</html>