Sau đó, ứng dụng web cần xác thực dữ liệu trước khi xử lý dữ liệu. Ví dụ: người dùng nhập dữ liệu nhân viên và post_action cần xác thực trước khi lưu nó vào cơ sở dữ liệu.
![]() |
| Khóa học lập trình PHP |
Khóa học lập trình PHP cung cấp một lớp thực sự đơn giản, Validation cho mục đích này.
Trong PHP, khái niệm xác thực là rất đơn giản và nó cung cấp các phương thức khác nhau thông qua lớp Validation để xác nhận hợp lệ biểu mẫu. Sau đây là quy trình xác thực,
Bước 1 - Tạo đối tượng Validation mới bằng phương thức forge .
Khóa đào tạo lập trình PHP chứa rất nhiều quy tắc để xác thực và cũng cung cấp tùy chọn tạo quy tắc mới. Các quy tắc được hỗ trợ bởi lớp Validation như sau,
bắt buộc - Giá trị được nhập
required_with - Đặt trường khác làm trường đồng hành. Nếu trường được đặt, thì trường đồng hành cũng cần được đặt
match_value - Đặt giá trị được so khớp với giá trị của trường
match_pattern - Đặt giá trị được đối sánh dưới dạng cụm từ thông dụng với giá trị của trường
match_field - Đặt giá trị của một trường khác làm giá trị được so khớp với giá trị của trường
match_collection - Đặt giá trị được so khớp dưới dạng tập hợp với giá trị của trường
min_length - Đặt độ dài tối thiểu của giá trị của trường
max_length - Đặt độ dài tối đa của giá trị của trường
exact_length - Đặt độ dài chính xác của giá trị của trường
valid_date - Đặt giá trị của trường thành ngày hợp lệ
valid_email - Đặt giá trị của trường thành một email hợp lệ
valid_emails - Đặt giá trị của trường thành các email hợp lệ, được phân tách bằng dấu phẩy
valid_url - Đặt giá trị của trường thành URL hợp lệ
valid_ip - Đặt giá trị của trường thành IP hợp lệ
numeric_min - Đặt giá trị nhỏ nhất của giá trị của trường
numeric_max - Đặt giá trị lớn nhất của giá trị của trường
numeric_between - Đặt giá trị tối thiểu và tối đa của giá trị của trường
valid_string - Tương tự như regex nhưng đơn giản hơn
Khóa học lập trình PHP Ở đây, chúng tôi đã chỉ định tên và độ tuổi làm trường bắt buộc. Độ tuổi cần phải nằm trong khoảng từ 20 đến 30.
Nếu cả hai quy tắc đều hợp lệ, thì dữ liệu của nhân viên sẽ được lưu và chuyển hướng đến trang danh sách nhân viên.
Nếu không, dữ liệu của nhân viên sẽ bị từ chối và được chuyển hướng để thêm trang nhân viên.
Trong PHP, khái niệm xác thực là rất đơn giản và nó cung cấp các phương thức khác nhau thông qua lớp Validation để xác nhận hợp lệ biểu mẫu. Sau đây là quy trình xác thực,
Bước 1 - Tạo đối tượng Validation mới bằng phương thức forge .
$val = Validation::forge();Bước 2 - Thêm các trường cần được xác nhận bằng cách sử dụng phương thức thêm.
$val->add('name', 'Employee name');Bước 3 - Đặt các quy tắc xác nhận cho các trường được thêm bằng phương thức add_rule .
$val->add('name', 'Employee name')->add_rule('required'); $val->add('age', 'Employee age')->add_rule('required') ->add_rule('numeric_min', 20) ->add_rule('numeric_max', 30);Bước 4 - Gọi phương thức chạy để xác thực dữ liệu.
// run validation on just post if ($val->run()) { // success } else { // falier }Bước 5 - Sử dụng xác thực và lỗi để có được các trường hợp lệ và không hợp lệ tương ứng.
$vars = $val->validated(); $vars = $val->error();Quy tắc
Khóa đào tạo lập trình PHP chứa rất nhiều quy tắc để xác thực và cũng cung cấp tùy chọn tạo quy tắc mới. Các quy tắc được hỗ trợ bởi lớp Validation như sau,
bắt buộc - Giá trị được nhập
required_with - Đặt trường khác làm trường đồng hành. Nếu trường được đặt, thì trường đồng hành cũng cần được đặt
match_value - Đặt giá trị được so khớp với giá trị của trường
match_pattern - Đặt giá trị được đối sánh dưới dạng cụm từ thông dụng với giá trị của trường
match_field - Đặt giá trị của một trường khác làm giá trị được so khớp với giá trị của trường
match_collection - Đặt giá trị được so khớp dưới dạng tập hợp với giá trị của trường
min_length - Đặt độ dài tối thiểu của giá trị của trường
max_length - Đặt độ dài tối đa của giá trị của trường
exact_length - Đặt độ dài chính xác của giá trị của trường
valid_date - Đặt giá trị của trường thành ngày hợp lệ
valid_email - Đặt giá trị của trường thành một email hợp lệ
valid_emails - Đặt giá trị của trường thành các email hợp lệ, được phân tách bằng dấu phẩy
valid_url - Đặt giá trị của trường thành URL hợp lệ
valid_ip - Đặt giá trị của trường thành IP hợp lệ
numeric_min - Đặt giá trị nhỏ nhất của giá trị của trường
numeric_max - Đặt giá trị lớn nhất của giá trị của trường
numeric_between - Đặt giá trị tối thiểu và tối đa của giá trị của trường
valid_string - Tương tự như regex nhưng đơn giản hơn
$val->add('username', 'User name')->add_rule('valid_string', array('alpha, dots');Khóa học lập trình PHP Ở đây, alpha đề cập đến các ký tự chữ cái và dấu chấm đề cập đến (.). Chuỗi hợp lệ chỉ là chuỗi chứa ký tự chữ cái và (.). Các tùy chọn khác là chữ hoa, chữ thường, đặc biệt, số, dấu cách, v.v.
Ví dụ làm việc
Chúng tôi có thể cập nhật tính năng thêm nhân viên để bao gồm xác thực. Chỉ cần cập nhật phương thức post_add của bộ điều khiển nhân viên như sau.public function post_add() { $val = Validation::forge(); $val->add('name', 'Employee name')->add_rule('required'); $val->add('age', 'Employee age')->add_rule('required') ->add_rule('numeric_min', 20) ->add_rule('numeric_max', 30); if ($val->run()) { $name = Input::post('name'); $age = Input::post('age'); $model = new model_employee(); $model->name = $name; $model->age = $age; $model->save(); Response::redirect('employee/list'); } else { Response::redirect('employee/add'); } }
Khóa học lập trình PHP Ở đây, chúng tôi đã chỉ định tên và độ tuổi làm trường bắt buộc. Độ tuổi cần phải nằm trong khoảng từ 20 đến 30.
Nếu cả hai quy tắc đều hợp lệ, thì dữ liệu của nhân viên sẽ được lưu và chuyển hướng đến trang danh sách nhân viên.
Nếu không, dữ liệu của nhân viên sẽ bị từ chối và được chuyển hướng để thêm trang nhân viên.

Không có nhận xét nào:
Đăng nhận xét