首页IT科技表单验证用什么方法实现(「Goravel 上新」验证表单的三种新姿势,估计你只用过一种)

表单验证用什么方法实现(「Goravel 上新」验证表单的三种新姿势,估计你只用过一种)

时间2025-07-30 13:37:06分类IT科技浏览5120
导读:验证用户输入的数据是我们开发中最常见的需求,Goravel 提供三种验证姿势,个个简单好用!...

验证用户输入的数据是我们开发中最常见的需求              ,Goravel 提供三种验证姿势                     ,个个简单好用!

第一种:简单直接式

根据表单内容直接校验:

func (r *PostController) Store(ctx http.Context) { validator, err := ctx.Request().Validate(map[string]string{ "title": "required|max_len:255", "body": "required", }) }

第二种:自由定义式

自定义验证数据:

validator, err := facades.Validation.Make(map[string]any{ "name": "Goravel", }, map[string]string{ "title": "required|max_len:255", "body": "required", })

第三种:优雅文艺式

使用命令 go run . artisan make:request StorePostRequest 创建一个「表单请求类」      ,并定义规则:

package requests import ( "github.com/goravel/framework/contracts/http" "github.com/goravel/framework/contracts/validation" ) type StorePostRequest struct { Name string `form:"name" json:"name"` } // 验证授权 func (r *StorePostRequest) Authorize(ctx http.Context) error { return nil } // 定义规则 func (r *StorePostRequest) Rules() map[string]string { return map[string]string{ "title": "required|max_len:255", "body": "required", } } // 自定义错误信息 func (r *StorePostRequest) Messages() map[string]string { return map[string]string{} } // 自定义字段名 func (r *StorePostRequest) Attributes() map[string]string { return map[string]string{} } // 数据预处理 func (r *StorePostRequest) PrepareForValidation(data validation.Data) { }

然后校验:

func (r *PostController) Store(ctx http.Context) { var storePost requests.StorePostRequest errors, err := ctx.Request().ValidateRequest(&storePost) }

关于 Goravel

Goravel 是一个功能完备              、具有良好扩展能力的 Web 应用程序框架              。作为一个起始脚手架帮助 Golang 开发者快速构建自己的应用                     。

框架风格与 Laravel 保持一致       ,让 PHPer 不用学习新的框架                     ,也可以愉快的玩转 Golang!致敬 Laravel!

Welcome star, PR and issues!

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
最亮的投影机是什么牌子(最亮的投影机是什么) 最贵的ipad要多少钱买(最贵的iPad保护套是什么)