07/09/2018, 16:06

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

0