SESSION ,FORM, VALIDATION IN LARAVEL
I. Session in Laravel Cách sử dụng session Session::put( 'key' , 'value' ); Gán giá trị Session::push( 'user.teams' , 'developers' ); Truy vấn sesion $value = Session::get( 'key' ); Truy vấn một session hoặc trả về giá trị mặc định $value = Session::get( 'key' , ...
I. Session in Laravel
Cách sử dụng session
Session::put('key', 'value');
Gán giá trị
Session::push('user.teams', 'developers');
Truy vấn sesion
$value = Session::get('key');
Truy vấn một session hoặc trả về giá trị mặc định
$value = Session::get('key', 'default');
$value = Session::get('key', function() { return 'default'; });
Truy vấn tới tất cả session
$data = Session::all();
Kiểm tra xem đã có session tồn tại hay chưa
if (Session::has('users'))
{
//
}
Remove một đối tượng khỏi session
Session::forget('key');
Remove tất cả đối tượng khỏi session
Session::flush();
Tạo ra session
Session::regenerate();
II . Forms & HTML
Mở 1 form
{{ Form::open(array('url' => 'foo/bar', 'method' => 'put')) }}
//only method GET, POST, PUT va DELETE
{{ Form::close() }}
Note: Form Laravel chỉ hổ trợ những phương thức sau như GET, POST, PUT va DELETE
Bạn có thể mở 1 form trỏ tới tên 1 route hoặc tên 1 controller
echo Form::open(array('route' => 'route.name')) // trỏ tới 1 route
echo Form::open(array('action' => '[email protected]')) //trỏ tới controller , action
1 số thẻ khác như:
{{ Form::open(array('files' => true)) }} // upload file
{{ Form::label('name', 'Your Name') }} // tạo nhãn trong form
//echo : <label for="name" >Your Name</label>
{{ Form::text('first_name','value') }}
//echo: <input name="first_name" type="text" value="value">
{{ Form::password('secret') }}
// <input name="secret" type="password" value="">
{{ Form::hidden('invisible', 'secret') }}
//<input name="invisible" type="hidden" value="secret">
echo Form::text('email', '[email protected]');
Checkboxes and Radio Buttons
echo Form::checkbox('name', 'value');
echo Form::radio('name', 'value');
Giá trị mặc định được chọn
echo Form::checkbox('name', 'value', true);
echo Form::radio('name', 'value', true);
Number
echo Form::number('name', 'value');
File Input
echo Form::file('image');
Drop-Down Lists
echo Form::select('size', array('L' => 'Large', 'S' => 'Small'));
//mặc định được chọn
echo Form::select('size', array('L' => 'Large', 'S' => 'Small'), 'S');
//tạo theo nhóm
echo Form::select('animal', array(
'Cats' => array('leopard' => 'Leopard'),
'Dogs' => array('spaniel' => 'Spaniel'),
));
echo Form::selectMonth('month');
Buttons
echo Form::submit('Click Me!');
II. Validation trong laravel
http://laravel.com/docs/4.2/validation
Validation trả về lỗi khi không thỏa mãn yêu cầu.
$validator = Validator::make(
array('name' => 'Dayle'),
array('name' => 'required|min:5')
);
Đối số thứ nhất trong phương thức make là tên cần validation, đối số thứ 2 là hình thức validation, nó có nhiều quy luật và được ngăn cách nhau bởi dấu “|”.
Sử dụng mảng chứng thực
$validator = Validator::make(
array('name' => 'Dayle'),
array('name' => array('required', 'min:5'))
);
Validating nhiều trường
$validator = Validator::make(
array(
'name' => 'Dayle',
'password' => 'lamepassword',
'email' => '[email protected]'
),
array(
'name' => 'required',
'password' => 'required|min:8',
'email' => 'required|email|unique:users'
)
);
Khi một thực thể của Validator được lập ra thì phường thức fails (hay passed) được thực thi
if ($validator->fails())
{
// The given data did not pass validation
}
Trong trường hợp có lỗi thì bạn có thể xuất thông báo lỗi đó ra từ Validator
$messages = $validator->messages(); Working With Error Messages
Trả về lỗi đầu tiên cho một trường
echo $messages->first('email');
Trả về tất cả lỗi cho một trường
foreach ($messages->get('email') as $message)
{
//
}
Trả về tất cả lỗi cho tất cả các trường
foreach ($messages->all() as $message)
{
//
}
if ($messages->has('email'))
{
//
}
echo $messages->first('email', '<p>:message</p>'); //style
//trả về all các lỗi
foreach ($messages->all('<li>:message</li>') as $message)
{
//
}
Nguồn tham khảo :
http://laravel.com/docs/4.2/session
http://laravel.com/docs/4.2/html
http://laravel.com/docs/4.2/validation