通过artisan创建控制器,对应 app\Http\Controller\WishController.php 这个文件:
编辑路由器 app\Http\routes.php ,添加对WishController的跳转:
修改WishController的create函数,添加代码跳转到视图:
新建 resources/views/wish/create.blade.php 视图文件,创建一个基本的表单:
这时候通过 http://localhost/wish/create 就可以访问表单,点击submit按钮,就会通过POST的方式提交到 http://localhost/wish/ 页面,接下来修改WishController的store函数,增加校验逻辑:
我们为表单subject字段增加了一个校验规则,要求这个字段必须填写,不能为空。如果用户提交表单的时候,这个字段为空,就会返回错误消息“ The subject field is required. ” 。默认错误信息是不会显示出来的,需要我们在表单最前面增加一段代码:
如果默认的错误信息不满足要求,我们还可以自定义错误信息:
如果很多表单里面都有这个字段,而且我们要赋予相同的错误提示,可以不用在每个页面都写相同的规则,这时候可以利用Laravel的Localization组件,编辑 resources/lang/en/validation.php 文件,修改custom字段:
这时可以将控制器中的required规则去掉,以后所有出现subject字段的required规则,都会显示这个错误信息。可这是英文的,如果我们希望显示中午的错误信息怎么办呢?先搞出一套中文的本地化配置文件:
然后编辑中文版本的校验配置文件 resources/lang/zh/validation.php ,同样修改custom字段,只是将错误信息修改成中文就好:
最后修改配置文件 config/app.php ,将当前的语言环境切换成中文:
至此,一个完整的表单校验逻辑就完成了,而且可以根据需要,显示不同语言的错误信息。对于校验规则,除了required,还有更多的规则,有待大家自己去探索。
参考资料