Là một nhà phát triển web Laravel, tôi rất biết ơn hệ thống Xác thực của nó, hệ thống này chắc chắn cung cấp một bộ quy tắc tuyệt vời, trong các trường hợp thông thường là đủ để xác thực tất cả các loại dữ liệu
Điều tốt về khung không chỉ là nó cung cấp một loạt các tính năng tích hợp mà còn cho phép bạn mở rộng chức năng của nó và xây dựng bộ quy tắc của riêng bạn, mà bạn có thể sử dụng nó trong nhiều dự án
Trong bài viết này, chúng ta sẽ khám phá cách tạo Quy tắc xác thực tùy chỉnh
Mục tiêu là để xác thực biểu mẫu đó với các quy tắc sau
- Tên. yêu cầu
- started_at. yêu cầu và ngày
- kết thúc tại. không bắt buộc, nhưng nếu điền thì phải là ngày và sau started_at
- Trò chơi bắt đầu vào năm 1896
- Năm không thể lớn hơn năm hiện tại
- Số phải chia hết cho 4
php artisan make:rule OlympicYearLaravel tạo một tệp ứng dụng/Quy tắc/OlympicYear. php.
namespace App\Rules; use Illuminate\Contracts\Validation\Rule; class OlympicYear implements Rule { /** * Determine if the validation rule passes. * * @param string $attribute * @param mixed $value * @return bool */ public function passes[$attribute, $value] { // } /** * Get the validation error message. * * @return string */ public function message[] { return 'The validation error message.'; } }Như tôi đã nói, nó tương tự như các lớp Yêu cầu xác thực. Chúng tôi điền vào các phương pháp. pass[] sẽ trả về true/false tùy thuộc vào điều kiện $value, đây là trường hợp của chúng tôi.
public function passes[$attribute, $value] { return $value >= 1896 && $value validate[$request, ['year' => new OlympicYear]]; }Hãy chú ý đến cú pháp, tham số thứ hai phải là một mảng và sau đó chúng ta tạo một đối tượng mới từ lớp Quy tắc của mình. Đó là nó.
Làm cách nào để thêm xác thực duy nhất trong laravel?
Sử dụng quy tắc xác thực duy nhất trong Laravel Form Request .
$table->string['title']->unique[];.
nghệ nhân php làm. yêu cầu StorePostRequest. .