Số xác thực độ dài tối đa của Laravel
Trong blog này, tôi sẽ chỉ cho bạn cách xác thực các chữ số giữa trong ứng dụng laravel. Chúng tôi sẽ sử dụng các quy tắc sử dụng đơn giản của trình xác thực laravel, tôi muốn kiểm tra đầu vào trong khoảng từ 1 đến 10. Bài viết này sẽ cung cấp cho bạn ví dụ về các chữ số giữa laravel Show
Trường được xác thực phải là số và phải có độ dài giữa tối thiểu và tối đa đã cho. con số Ở đây, tôi sẽ chỉ cho bạn cách làm việc xác thực laravel cho Digits_between. bạn có thể thấy các chữ số xác thực của laravel phải có độ dài tối thiểu và tối đa. Bài viết này sẽ cung cấp cho bạn ví dụ đơn giản về Digits_between trong xác thực laravel. Vì vậy, hãy làm theo vài bước để tạo ví dụ về ví dụ xác thực của laravel Digit_between Hướng dẫn này sẽ trình bày cách xác thực số điện thoại của Hoa Kỳ và quốc tế bằng hai phương pháp khác nhau
Mỗi phương pháp đều có những ưu điểm và hạn chế riêng mà chúng ta sẽ khám phá rất chi tiết khi thực hiện từng phần của hướng dẫn này Nếu bạn muốn tìm hiểu cách hoàn thành xác thực địa chỉ email bằng cách sử dụng PHP thay vì xác thực số điện thoại của Laravel, hãy xem bài viết này về cách xác thực địa chỉ email trong PHP. Xác thực Laravel 5/6/7/8Phương thức Xác thực Trình điều khiển mà chúng tôi sẽ trình bày trong hướng dẫn này sẽ hoạt động từ Laravel 5. 1 trở đi. Đối với Laravel 5. 0, khung không cung cấp sẵn lớp Trình điều khiển. Thay vào đó, Laravel đã cung cấp một lớp gọi là Trình xác thực. Nếu bạn vẫn đang sử dụng Laravel 5. 0, bạn có thể tìm hiểu thêm về lớp này từ tài liệu chính thức dành cho Laravel 5. 0. Laravel Mã xác thực số điện thoại ví dụ 1 - Bộ điều khiểnPhương thức Laravel Controller để xác thực là gì? . Ví dụ: một lớp PhoneController có thể xử lý tất cả các yêu cầu đến liên quan đến một số điện thoại, bao gồm hiển thị, tạo, cập nhật, xác thực và xóa số. Điều này hữu ích để thực hiện xác thực biểu mẫu trong ứng dụng Laravel của bạn, chẳng hạn như khi người dùng mới đang cố gắng đăng ký thông tin chi tiết của họ Sử dụng lớp Trình điều khiển giúp bạn không phải xác định tất cả logic xử lý yêu cầu của mình trong một tuyến duy nhất. tập tin php. Điều này dẫn đến một cơ sở mã có cấu trúc và tổ chức hơn, dễ bảo trì hơn. Theo mặc định, Bộ điều khiển được lưu trữ trong thư mục app/Http/Controllers Chúng tôi sẽ xem xét việc sử dụng lớp Trình điều khiển có thể xác thực thành công số điện thoại. Nhưng định dạng của những con số chúng ta đang sử dụng là gì? . Các số này có độ dài 10 chữ số khi bao gồm phần mở rộng, ví dụ:. 14151251234. Thiết lập tuyến đường của chúng tôiHãy bắt đầu viết lớp Controller của chúng ta. Hãy nhớ rằng Bộ điều khiển giúp chúng tôi không phải xử lý logic xác thực trong các tệp tuyến đường của chúng tôi. Tuy nhiên, chúng ta vẫn phải thêm một route vào lớp Controller của mình trong routes/web. php bằng lệnh sau
Yêu cầu POST này sẽ được sử dụng khi người dùng gửi số của họ. Lớp PhoneController để từ chối số điện thoại không hợp lệHãy tạo lớp PhoneController của chúng tôi. Lớp này sẽ hoạt động như một phần mở rộng trình xác thực cho lớp Trình điều khiển cơ sở. Kiểm tra mã dưới đây
Hãy chạy qua mã. Điều đầu tiên bạn sẽ nhận thấy là cách chức năng được gọi là lưu tương ứng với Tuyến đường mà chúng tôi thiết lập trong tuyến đường/web. php
Xác thực số điện thoại LaravelHãy cùng xem một ví dụ xác thực và chính phương thức lưu để xem cách xử lý một số điện thoại trong Laravel
Trong chức năng lưu của chúng tôi, chúng tôi sử dụng phương thức xác thực được cung cấp bởi đối tượng Illuminate\Http\Request. Khi một số được xác thực bằng phương pháp này, có thể xảy ra hai kết quả khác nhau
Nếu xác thực không thành công trong yêu cầu HTTP truyền thống, phản hồi chuyển hướng tới URL trước đó sẽ được tạo. Nếu yêu cầu đến là yêu cầu XHR, phản hồi JSON chứa thông báo lỗi xác thực sẽ được trả về. Hãy tưởng tượng điều này sẽ trông như thế nào khi được sử dụng cho một số thứ như xác thực biểu mẫu. Người dùng sẽ nhập một số điện thoại không hợp lệ vào biểu mẫu và nhấn lưu và một thông báo lỗi sẽ được hiển thị thông qua giao diện người dùng thông báo cho người dùng rằng họ đã nhập một số không chính xác. Thông báo sẽ không được hiển thị ngay lập tức khi đầu vào bắt đầu, nhưng khi nhấn nút lưu. Phân tích quy tắc xác thực điện thoạiChúng tôi đã cung cấp các quy tắc xác thực sau. 'cần thiết. con số. tối thiểu. 10’. Nhưng mỗi trong số này có nghĩa là gì?
Một trường được coi là "trống" nếu một trong các điều kiện sau là đúng
Được rồi, vì vậy người dùng phải nhập một giá trị số có độ dài 10 ký tự. So sánh số này với số của Hoa Kỳ mà chúng tôi đã hiển thị trước đó. 14151251234. PhoneController của chúng tôi sẽ đảm bảo số điện thoại người dùng nhập vào được xác thực chính xác. Tuy nhiên, nếu bạn không muốn tạo một lớp Controller riêng thì sao?. Điều gì sẽ xảy ra nếu bạn đã quen thuộc với Regex và muốn sử dụng mẫu Regex trong khuôn khổ Laravel để thêm xác thực số điện thoại vào ứng dụng của mình. Điều này là có thể, và trong phần tiếp theo, chúng tôi sẽ trình bày cách Laravel Mã xác thực số điện thoại ví dụ 2 - RegexNếu bạn quyết định sử dụng Regex để xác thực số điện thoại, bạn sẽ không phải sử dụng quy tắc số và chữ số mà chúng tôi đã trình bày trước đây. Điều quan trọng cần lưu ý là với Regex, bạn có thể tìm thấy nhiều mẫu khác nhau phù hợp với trường hợp sử dụng của mình, không có câu trả lời nào được chấp nhận. Hãy triển khai một phương thức lưu đơn giản được thiết kế để lưu số điện thoại và sử dụng biểu thức chính quy để hoạt động như quy tắc xác thực của riêng chúng ta Hãy xem mã sau và ví dụ xác thực nơi chúng tôi sử dụng một hàm có cùng tên với ví dụ cuối cùng của chúng tôi, hãy lưu lại.
Hãy chia nhỏ các quy tắc mà chúng tôi đã áp dụng cho đầu vào phone_number của mình
Đây là cách bạn có thể sử dụng Regex để xác thực số Hoa Kỳ. Nhưng còn định dạng quốc tế cho số điện thoại và số điện thoại di động thông thường thì sao? Laravel xác thực số điện thoại quốc tếCó rất nhiều định dạng số điện thoại hợp lệ khác nhau như bạn có thể thấy từ mục Wikipedia này về quy ước viết số điện thoại. Bạn có thể thấy số điện thoại di động cũng có thể khác với số điện thoại cố định. Định dạng số điện thoại có thể thay đổi đáng kể tùy thuộc vào mã quốc gia và phần mở rộng cho số đó. Trường số điện thoại di động có thể có độ dài khác với trường số điện thoại cố định. Xử lý tất cả các trường hợp khác nhau này có thể phức tạp. Hãy xem ví dụ về các số điện thoại ở Vương quốc Anh và so sánh nó với định dạng số ở Hoa Kỳ mà chúng tôi đã đề cập cho đến nay
Số của Hoa Kỳ theo cấu trúc này
Số của Vương quốc Anh tuân theo cấu trúc này
Hãy xem ví dụ Regex trước đây của chúng tôi và cập nhật nó để nó có thể hoàn tất xác thực với mã quốc gia cho các số ở Vương quốc Anh Bạn có thể sử dụng mẫu Regex sau để xác thực số ở Vương quốc Anh
Điều gì sẽ xảy ra nếu bạn không muốn sử dụng phương thức Trình điều khiển có sẵn của Laravel hoặc Regex để thực hiện xác thực số điện thoại của mình? . Các phương pháp thay thế để xác thực số điện thoạiCó một số lựa chọn thay thế cho các phương pháp chúng ta đã thảo luận cho đến nay. Một phương pháp như vậy là sử dụng một thư viện Làm cách nào để xác thực số trong Laravel?Xác thực số điện thoại Laravel
. con số. tối thiểu. 10' ]); public function save(Request $request) { $validated = $request->validate([ phone_number=> 'required|numeric|min:10' ]); //Nếu số vượt qua xác thực, phương thức sẽ tiếp tục ở đây. } Trong chức năng lưu của chúng tôi, chúng tôi sử dụng phương thức xác thực được cung cấp bởi đối tượng Illuminate\Http\Request.
Làm cách nào để xác thực phần mở rộng tệp trong Laravel?Làm cách nào để xác thực tệp CSV trong Laravel? . Kiểm tra xem loại MIME hoặc phần mở rộng tệp có phù hợp với nhu cầu của bạn không Kiểm tra xem tệp đã tải lên có được định dạng ở định dạng CSV không Kiểm tra xem cấu trúc tệp CSV của tệp đã tải lên có phù hợp với nhu cầu của bạn không Làm cách nào để xác thực tùy chỉnh trong Laravel?Bắt đầu xác thực . Xác định các tuyến đường khác nhau. . Tạo bộ điều khiển mới. . Mã hóa logic xác thực. . Thuộc tính lồng nhau. . Tạo và triển khai các yêu cầu biểu mẫu. . Các móc sau để hình thành yêu cầu. . Ngừng sau lần xác thực đầu tiên không thành công. . Chuẩn bị một tuyến đường chuyển hướng |