首页 > 解决方案 > 如何验证具有多个模型的表单?

问题描述

基本上,我正在建立一个在线商店,用户可以在其中创建带有选项的产品(比如说,尺寸和颜色)。设置所有选项后,它们必须提供每个产品的数量和 SKU。

我正在考虑制作一个两步表格。

第一步:他们选择名称、描述、图像并创建选项(尺寸[sm、m、l、xl]和颜色[蓝色、红色、黄色])。在之后的页面上,我为每个选项生成了一个表格列表(小黄夹克、小蓝夹克、小白夹克、中黄夹克、中蓝夹克、中白夹克等)

基本上,我必须验证很多表格行。但是,我看不到如何获取数据并对其进行验证。

生成的名称将每个都有一个关联的 id,并且该 id 需要在表单中。我正在考虑将其放入名称中(sku-1,数量-1,但这不适用于验证)。想过制作一个数组,但我怎么知道哪个值属于哪个产品?

当您有很多模型可以使用时,您如何处理表单验证/匹配,就像我的情况一样?

标签: phplaravelvalidation

解决方案


您可能需要手动创建验证器

基本验证如下所示(来自上面链接的文档):

Validator::make($request->all(), [
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
])->validate();

如果您的验证比对某些属性的静态检查更复杂,那么您需要编写一些更复杂的东西来匹配。


推荐阅读