Thứ Năm, 8 tháng 11, 2018

CakePHP - Tạo trình xác thực

Validator có thể được tạo bằng cách thêm hai dòng sau vào bộ điều khiển.

use Cake\Validation\Validator;
$validator = new Validator(); 

Đang xác thực dữ liệu

Khi chúng tôi đã tạo trình xác thực, chúng tôi có thể sử dụng đối tượng trình xác thực để xác thực dữ liệu. Mã sau giải thích cách chúng tôi có thể xác thực dữ liệu cho trang web đăng nhập.

$validator->notEmpty('username', 'We need username.')->add('username',
   'validFormat', ['rule' => 'email','message' => 'E-mail must be valid']);

$validator->notEmpty('password', 'We need password.');
$errors = $validator->errors($this->request->data());

Sử dụng đối tượng $ validator, trước tiên chúng ta đã gọi phương thức notEmpty () để đảm bảo rằng tên người dùng không được để trống. Sau đó, chúng ta đã thêm phương thức add () để thêm một xác nhận hợp lệ nữa cho định dạng email thích hợp.

Sau đó, chúng tôi đã thêm xác nhận cho trường mật khẩu với phương thức notEmpty () sẽ xác nhận rằng trường mật khẩu không được để trống.

Link đăng ký : Phần mềm lập trình PHP chuyên nghiệp

Thí dụ

Thực hiện các thay đổi trong tệp config / routes.php như được hiển thị trong chương trình sau.

config / routes.php
<?php
   use Cake\Core\Plugin;
   use Cake\Routing\RouteBuilder;
   use Cake\Routing\Router;

   Router::defaultRouteClass('DashedRoute');
   Router::scope('/', function (RouteBuilder $routes) {
      $routes->connect('validation',['controller'=>'Valids','action'=>'index']);
      $routes->fallbacks('DashedRoute');
   });
   Plugin::routes();
Tạo một tệp ValidsController.php tại src / Controller / ValidsController.php . Sao chép mã sau trong tệp bộ điều khiển.

src / Controller / ValidsController.php

<?php
   namespace App\Controller;
   use App\Controller\AppController;
   use Cake\Validation\Validator;

   class ValidsController extends AppController{
      public function index(){
         $validator = new Validator();
         $validator->notEmpty('username', 'We need username.')
            ->add('username', 'validFormat', ['rule' => 'email','message' 
            => 'E-mail must be valid']);
         
         $validator->notEmpty('password', 'We need password.');
         $errors = $validator->errors($this->request->data());
         $this->set('errors',$errors);
      }
   }
?> 

Tạo một thư mục Các Valids tại src / Template và dưới thư mục đó tạo một tệp tin View có tên là index.ctp . Sao chép mã sau vào tệp đó.

src / Mẫu / Valids / index.ctp
<?php
   if($errors){
      foreach($errors as $error)
      foreach($error as $msg)
      
      echo '<font color = "red">'.$msg.'</font>l';
   } else {
      echo "No errors.";
   }

   echo $this->Form->create("Logins",array('url'=>'/validation'));
   echo $this->Form->input('username');
   echo $this->Form->input('password');
   echo $this->Form->button('Submit');
   echo $this->Form->end();
?>
Thực hiện ví dụ trên bằng cách truy cập URL sau - http: // localhost: 85 / PHP / xác thực

Đầu ra

Nhấp vào nút gửi mà không cần nhập bất kỳ thứ gì. Bạn sẽ nhận được kết quả sau.

Phần mềm lập trình PHP chuyên nghiệp
Phần mềm lập trình PHP chuyên nghiệp

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

Đăng nhận xét

lập trình PHP cho các nhà phát triển PERL

Chương này sẽ liệt kê những điểm tương đồng và khác biệt chính giữa PHP và PERL. Điều này sẽ giúp các nhà phát triển PERL hiểu PHP rất nhanh...