CodeIgnitor: Form Helper - Phần 3

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

form_button($data,$content,$extra)

Tham số:
  • $data (string) – Tên nút lệnh
  • $content (string) – Nhãn của nút lệnh
  • $extra (mixed) – Các thuộc tính mở rộng của nút lệnh
Trả về: Thẻ <button></button>
Kiểu trả về:

string

Hàm này dùng để tạo thẻ <button>. Ví dụ:

echo form_button('name','content');
// Sẽ tạo ra:
<button name="name" type="button">Content</button>

Bạn cũng có thể truyền một mảng thuộc tính cho hàm để tạo các thuộc tính cho nút lệnh như sau:

$data = array(
        'name'          => 'button',
        'id'            => 'button',
        'value'         => 'true',
        'type'          => 'reset',
        'content'       => 'Reset'
);

echo form_button($data);
// Sẽ tạo ra:
<button name="button" id="button" value="true" type="reset">Reset</button>

Nếu bạn muốn chứa code JavaScript chẳng hạn, trong thuộc tính sự kiện thì ta có thể làm như sau:

$js = 'onClick="some_function()"';
echo form_button('mybutton', 'Click Me', $js);

form_close($extra)

Tham số:

$extra (string) – Đưa thêm nội dung vào sau thẻ đóng </form>

Trả về:

Thẻ </form>

Kiểu trả về: 

string

Hàm này tạo thẻ đóng </form>. Nếu đối số của hàm tồn tại thì nội dung trong đối số sẽ được đặt sau thẻ đóng này. Ví dụ:

$string = '</div></div>';
echo form_close($string);
// Sẽ tạo ra: </form></div></div>

set_value($field,$default,$html_escape)

Tham số:
  • $field (string) – Tên của thẻ
  • $default (string) – Giá trị mặc định
  • $html_escape (bool) – Bật/tắt trong việc lấy dấu nháy
Trả về:

Giá trị của thẻ (trong thuộc tính value)

Kiểu trả về: 

string

Hàm này dùng để thiết lập giá trị cho thẻ <input> hoặc <textarea>. Tham số thứ nhất sẽ chứa tên của trường, tham số thứ hai (tùy chọn) sẽ dùng để thiết lập giá trị mặc định cho thẻ, còn tham số thứ ba (tùy chọn) dùng để tắt/bật trong việc lấy dấu nháy. Trong trường hợp cần thiết thì bạn nên sử dụng kết hợp với hàm form_input() để tránh việc trùng lặp dấu nháy. Ví dụ:

<input type="text" name="quantity" value="<?php echo set_value('quantity', '0'); ?>" size="50" />

Thẻ <input> ở trên sẽ hiển thị trong nó giá trị mặc định là 0.

Lưu ý
Nếu bạn đã tải thư viện Form Validation và thiết lập các quy tắc xác định tính hợp lệ cho thẻ khi sử dụng helper này thì nó sẽ chuyển tới lời gọi phương thức set_value(), nếu không thì hàm sẽ tìm giá trị trong $_POST.

set_select($field,$value,$default)

Tham số:
  • $field (string) – tên của thẻ <select>
  • $value (string) – Giá trị cho thẻ con <option>
  • $default (string) – có sử dụng thuộc tính selected cho <option> hay không
Trả về:

Trả về thuộc tính 'selected' hoặc một chuỗi rỗng

Kiểu trả về: 

string

Hàm này sẽ tạo giá trị (tham số thứ hai) cho thẻ <option> của <select> đồng thời chỉ định có hay không (tham số thứ 3) việc sử dụng thuộc tính selected cho <option> đó. Ví dụ:

<select name="myselect">
        <option value="one" <?php echo  set_select('myselect', 'one', TRUE); ?> >One</option>
        <option value="two" <?php echo  set_select('myselect', 'two'); ?> >Two</option>
        <option value="three" <?php echo  set_select('myselect', 'three'); ?> >Three</option>
</select>

set_checkbox($field,$value,$default)

Tham số:
  • $field (string) – Tên của checkbox
  • $value (string) – Giá trị của checkbox
  • $default (string) – Có dùng checked hay không
Trả về:

Thuộc tính 'checked' hoặc chuỗi rỗng

Kiểu trả về: 

string

Hàm này dùng để thiết lập giá trị cho checkbox và có thiết lập hay không thuộc tính checked cho nó. Ví dụ:

<input type="checkbox" name="mycheck" value="1" <?php echo set_checkbox('mycheck', '1'); ?> />
<input type="checkbox" name="mycheck" value="2" <?php echo set_checkbox('mycheck', '2', TRUE); ?> />

set_radio($field,$value,$default)

Tham số:
  • $field (string) – Tên thẻ radio
  • $value (string) – Giá trị cho radio
  • $default (string) – Dùng checked hay không
Trả về:

Thuộc tính 'checked' hoặc chuỗi rỗng

Kiểu trả về: 

string

Hàm này dùng để thiết lập giá trị cho radio và thiết lập checked hay không cho nó. Ví dụ:

<input type="radio" name="myradio" value="1" <?php echo  set_radio('myradio', '1', TRUE); ?> />
<input type="radio" name="myradio" value="2" <?php echo  set_radio('myradio', '2'); ?> />
Lưu ý
Nếu bạn sử dụng lớp Form Validation thì bạn phải xác định quy tắc cho trường của bạn cho dù nó trống để cho các hàm dạng set_*() hoạt động. Lý do là bởi vì nếu một đối tượng của lớp Form Validation được định nghĩa thì quyền điều khiển sẽ được trao cho các hàm dạng set_*() thông qua một phương thức của lớp đó thay vì tạo một hàm helper.

form_error($field,$prefix,$suffix)

Tham số:
  • $field (string) – Tên trường
  • $prefix (string) – Thẻ mở lỗi
  • $suffix (string) – Thẻ đóng lỗi
Trả về:

Thông báo lỗi đặt trong thẻ HTML tương ứng

Kiểu trả về: 

string

Trả về thông báo lỗi từ thư viện Form Validation được đặt trong tên của trường tương ứng. Ta có thể tùy chọn xác định thẻ mở và thẻ đóng để bao ngoài thông báo lỗi.

Ví dụ:

// Giả sử rằng giá trị của trường 'username' là không đúng thì:
echo form_error('myfield', '<div class="error">', '</div>');

// sẽ tạo ra: <div class="error">Thông báo lỗi cho trường 'username'.</div>

validation_errors($prefix,$suffix)

Tham số:
  • $prefix (string) – Thẻ mở error
  • $suffix (string) – Thẻ đóng error
Trả về:

Thẻ thông báo lỗi hợp lệ của form đã được định dạng HTML

Kiểu trả về: 

string

Tương tự như hàm form_error(), hàm này trả về tất cả các thông báo lỗi được tạo ra từ thư viện Form Validation, trong đó mỗi thông báo lỗi đều được đặt trong thẻ mở và đóng.

Ví dụ:

echo validation_errors('<span class="error">', '</span>');

/*
Khi phát sinh lỗi thì thông báo lỗi sẽ có dạng như sau:

 <span class="error">Thông báo lỗi!</span

 */

form_prep($str)

Tham số:

$str (string) – Giá trị escape

Trả về:

Giá trị escape

Kiểu trả về: 

string

Hàm này cho phép sử dụng HTML và các ký tự một cách an toàn (chẳng hạn như các dấu nháy) trong các phần tử của form mà không lo bị lỗi form.

Lưu ý
- Nếu sử dụng bất kỳ một hàm nào của form helper thì các giá trị của các phần tử form sẽ tự động được sử dụng một cách an toàn và tự động, do vậy bạn không cần phải gọi hàm form_prep() nữa.
- Hàm này đã lỗi thời, bạn nên dùng hàm html_escape() để thay thế.
» Tiếp: HTML Helper
« Trước: Form Helper - Phần 2
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!