Trong các ứng dụng cho phép người dùng nhập dữ liệu thì đều cần phải có validate để bảo mật và đảm bảo ứng dụng chạy đúng.
Golang có một số thư viện open source hỗ trợ chúng ta làm việc này một cách nhanh chóng, ví dụ như govalidator.
Cài đặt
Cài govalidator qua package manager hoặc đơn giản là dùng go get:
|
|
Import vào trong project:
|
|
Sử dụng
Govalidator cung cấp rất nhiều function hỗ trợ chúng ta validate dữ liệu theo các dạng thông dụng như: URL, Email, Alpha, Numeric Alphanumeric, Regex, … Danh sách các hàm hỗ trợ: https://github.com/asaskevich/govalidator#list-of-functions.
Ngoài ra Govalidator còn hỗ trợ chúng ta validate struct (kiểm tra tính hợp lệ của các field trong struct) bằng cách sử dụng tag valid. Ví dụ:
|
|
Sau khi khai báo Struct xong, để kiểm tra toàn bộ struct ta gọi hàm ValidateStruct():
|
|
Tiptrick
Nếu trong Struct có nhiều trường cần require thì ta có thể cấu hình mặc định các field là require:
|
|
Sau đó trường nào không cần require thì thêm tag valid:"-".
Để thay đổi message báo lỗi mặc định ta dùng ký tự ~ vào sau kiểu validate (chú ý không có khoảng trắng):
|
|
Nếu một field validate nhiều kiểu dữ liệu thì ngăn cách bằng dấu phẩy, và nếu có custom message thì cần thiết lập riêng message cho từng kiểu dữ liệu:
|
|