با سلام خدمت کاربران گرامی سایت پی وی لرن و آن دسته از کاربرانی که به زبان PHP علاقه دارند. این دوره آموزش CakePHP مخصوص آن ها تهیه شده تا مهارت و تسلط خود را بر این زبان با یادگیری CakePHP به حد کمال برسانند و با کمک آن به یک برنامه نویس حرفه ای در عرصه PHP تبدیل شوند. در جلسه گذشته به آموزش Validation پرداختیم و به طور مفصل آموختیم که چگونه می توان به اعتبارسنجی در این فریم ورک بپردازیم. به آخرین جلسه از این دوره خوش می آمدید؛ متشکر از همراهی شما؛ با افتخار آخرین جلسه از دوره آموزش CakePHP را با عنوان آموزش ساخت Validator ها در CakePHP را به علاقمندان و کاربران این دوره تقدیم می کنیم.
Validator را می توان با اضافه کردن دو خط زیر در کنترل کننده ایجاد کرد.
1 2 | use Cake\Validation\Validator; $validator = new Validator(); |
حالا که ما تأیید کننده را ایجاد کردیم، می توانیم از شیء معتبر validator object برای تایید داده ها استفاده کنیم.
کد زیر توضیح می دهد چگونه می توانیم داده ها را در صفحه وب وارد کنید.
1 2 3 4 5 | $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()); |
با استفاده از validator object$ ابتدا به فراخوانی روش ()notEmpty می پردازیم که موجب اطمینان از خالی بودن username می شود.
پس از آن ما روش ()add را زنجیر کرده ایم تا یک اعتبار سنجی دیگر را برای فرمت ایمیل مناسب اضافه کنیم.
پس از آن ما validation را به فیلد پسورد با استفاده از روش ()notEmpty اضافه می کنیم که تاکید می کند که فیلد پسورد نباید خالی باشد.
تغییرات مورد نظر را در فایل config / routes.php را همانطور که در ادامه نشان داده شده است اعمال نمایید.
1 2 3 4 5 6 7 8 9 10 11 | <?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(); |
یک فایل ValidsController.php در ValidsController.php بسازید و سپس کد زیر را در فایل کنترل کننده کپی کنید.
src/Controller/ValidsController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?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); } } ?> |
یک دایرکتوری Valids در src/Template ایجاد کنید و یک View file زیر دایرکتوری فراخوانی شده index.ctp بسازید و سپس کد زیر را در آن فایل کننده کپی کنید.
src/Template/Valids/index.ctp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?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(); ?> |
از طریق مثال بالا با مراجعه به آدرس زیر http را اجرا کنید:
// localhost: 85 / CakePHP / validation
روی دکمه ارسال بدون وارد کردن چیزی کلیک کنید. سپس خروجی زیر را دریافت خواهید کرد.
در این جلسه با آموزش ساخت Validator ها در CakePHP همراهتان بودیم.
دوره آموزش CakePHP به پایان رسید؛ امیدوارم استفاده مفیدی از این دوره برده باشید. این دوره به پایان رسید اما راه طولانی یادگیری همچنان ادامه دارد …
با پی وی لرن همراه باشید.