在使用lumen创建api,每当创建一个新的model操作时,都要进行数据验证的操作,就不得不在调用的控制中都进行Validation编写一遍rules,当我修改数据库,或者逻辑时,不得不把曾经编写的所有规则都找到并修改。
想请教一下如何创建自定义验证器,面向不同的数据表或者模型独立一套专门的验证规则,控制器将直接调用这个验证规则。
在使用lumen创建api,每当创建一个新的model操作时,都要进行数据验证的操作,就不得不在调用的控制中都进行Validation编写一遍rules,当我修改数据库,或者逻辑时,不得不把曾经编写的所有规则都找到并修改。
想请教一下如何创建自定义验证器,面向不同的数据表或者模型独立一套专门的验证规则,控制器将直接调用这个验证规则。
4 回答13.2k 阅读✓ 已解决
5 回答7.7k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
1 回答948 阅读✓ 已解决
1 回答1.4k 阅读
1 回答1.4k 阅读
2 回答981 阅读
没太明白你的意思,验证器一般都是用来验证用户提交的数据的合理性,对应不同的情况下,验证代码不一样是很正常的现象,如果说,你是觉得代码都混在控制器中的 Validation 太丑的话,在 Laravel 中有可以直接独立创建验证器,直接使用命令就可以在 app/Requests 下创建。
lumen 默认是不支持这样的,但是可以通过安装扩展来支持。
如果你是为了你的 rules 复用方便,你可以用 Trait ,来拆分不同的 rules,当然你可能还需要合并规则。(这只是一个 idea 并没有尝试过。)