Editor PHP Xiaoxin hari ini memperkenalkan kepada anda pengesah Golang yang berkuasa - peraturan pengesahan pengiraan tersuai. Apabila Golang semakin popular, semakin ramai pembangun mula menggunakannya untuk membina aplikasi yang cekap dan boleh dipercayai. Pengesah ialah salah satu alat penting, yang boleh membantu kami mengesahkan sama ada data input mematuhi format dan keperluan yang ditentukan. Peraturan pengesahan penghitungan tersuai ialah fungsi penting pengesah, yang boleh membantu kami menentukan jenis penghitungan kami sendiri dan mengesahkan data input. Melalui artikel ini, kami akan memperkenalkan secara terperinci cara menggunakan peraturan pengesahan penghitungan tersuai di Golang, serta beberapa senario aplikasi praktikal. Mari kita terokai ciri hebat ini bersama-sama!
Saya menggunakan https://github.com/go-playground/validator dan saya perlu membuat peraturan pengesahan tersuai untuk nilai penghitungan yang berbeza. Berikut ialah struktur saya - https://go.dev/play/p/UmR6YH6cvK9. Seperti yang anda lihat, saya mempunyai 3 jenis pengguna yang berbeza: pentadbir, penyederhana dan pencipta kandungan, dan saya mahu melaraskan peraturan kata laluan yang berbeza untuk mereka. Sebagai contoh, kata laluan pentadbir hendaklah sekurang-kurangnya 7 aksara dan kata laluan penyederhana hendaklah sekurang-kurangnya 5 aksara. Adakah mungkin untuk melakukan ini melalui tag dalam go-playground/validator?
Perkhidmatan saya mendapat senarai pengguna dan perlu menggunakan peraturan berbeza untuk pengesahan
Anda boleh mengesahkan pengguna dengan bertanya pakej usertype
添加一个方法,该方法使用 validator
.
type usertype int const ( admin usertype = iota moderator contentcreator ) func (u usertype) validate() error { switch u { case admin: // validate admin case moderator: // validate moderator case contentcreator: // validate content creator default: return fmt.errorf("invalid user type") } return nil }
Sahkan panggilan kelihatan seperti ini
func main() { a := User{ Type: Admin, Name: "admin", Password: "pass", LastActivity: time.Time{}, } err := a.Type.Validate() if err != nil { fmt.Println("invalid user: %w", err) } }
Atas ialah kandungan terperinci Peraturan pengesahan penghitungan tersuai pengesah Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!