Soldemy
0%

Bài đọc

Validation và Form Request: thực hành có hướng dẫn

3 phút đọc

Đây là bài 3 của chương 4: Validation và Form Request, thuộc khóa demo Laravel Backend. Nội dung được dùng để trải nghiệm cấu trúc chương trình học; hãy thực hành trên dữ liệu và môi trường thử nghiệm riêng. Trong dự án xuyên suốt, bạn sẽ xây dựng backend quản lý khóa học, bài học và tiến độ học tập.

Mục tiêu cụ thể

Validation xác định dữ liệu được chấp nhận trước khi thay đổi trạng thái. Form Request tập trung quy tắc; dữ liệu đã validate cần được dùng có chủ đích.

Đề bài thực hành

Viết quy tắc tạo khóa học và thông báo lỗi tiếng Việt; gán người sở hữu từ user đang đăng nhập.

Quy trình từng bước

  • Xác định đầu vào, đầu ra và trạng thái trước khi bắt đầu. Với validation và form request, hãy ghi lại kết quả bạn mong muốn trước khi chạy ví dụ.
  • Tạo bản thử nhỏ nhất trong một thư mục hoặc môi trường riêng. Chỉ dùng dữ liệu giả; không sao chép token, tài khoản hoặc dữ liệu cá nhân vào bài tập.
  • Thực hiện yêu cầu: Viết quy tắc tạo khóa học và thông báo lỗi tiếng Việt; gán người sở hữu từ user đang đăng nhập.
  • Quan sát kết quả và so sánh từng điều kiện chấp nhận. Khi chưa đạt, thay đổi một yếu tố mỗi lần để biết thay đổi nào tạo ra tác động.
  • Lưu kết quả cùng ghi chú giải thích quyết định. Người khác cần tái hiện được thao tác mà không phải đoán cấu hình hoặc dữ liệu ban đầu.

Điểm khởi đầu

PHP
public function rules(): array
{
    return [
        "title" => ["required", "string", "max:200"],
        "description" => ["nullable", "string", "max:10000"],
    ];
}
// $data = $request->validated();

Đối chiếu kết quả

  • Tiêu đề rỗng bị từ chối
  • Giới hạn độ dài được kiểm tra
  • Client không đổi được người sở hữu

Nếu kết quả khác dự kiến

Mass assignment không thay thế phân quyền. Không cho client tự gán owner_id hoặc trạng thái xuất bản nếu chưa được phép.

Chụp hoặc ghi lại đầu vào và đầu ra trước khi sửa. Xác nhận tệp đã lưu, đúng môi trường đang chạy và dữ liệu thử vẫn giữ nguyên. Sau khi sửa, chạy lại cả trường hợp ban đầu lẫn một trường hợp biên để tránh sửa được một nhánh nhưng làm hỏng nhánh khác.

Sản phẩm cần lưu

  • Mã nguồn hoặc sơ đồ của bản thử.
  • Dữ liệu đầu vào có thể dùng lại.
  • Ba kết quả kiểm tra kèm giải thích.
  • Một ghi chú về điều bạn sẽ làm khác nếu triển khai cho người dùng thật.

Hỏi đáp

Đăng nhập để đặt câu hỏi và tham gia thảo luận.