Laravel fordert verschachtelte übergeordnete/untergeordnete Formulare an
P粉446800329
P粉446800329 2023-08-08 18:04:08
0
1
540
<p>Ich verwende Laravel, um eine API zu erstellen. Ich habe die Klassen ProductRequest und ProductPriceRequest für die Anforderungsvalidierung erstellt und sie funktionieren wie erwartet. </p><p>Ein Produkt kann mehrere Produktpreise haben. </p><p>Um nun einen ProductPrice zu erstellen, muss ich zuerst ein Produkt und dann einen mit diesem Produkt verknüpften ProductPrice erstellen</p><p><br />< /p> ; <pre class="brush:php;toolbar:false;">//Produkt erstellen POST->http://127.0.0.1:8000/api/v1/products { „name“: „Produkt1“ } //Produktpreis erstellen, der dem Produkt zugeordnet ist Post->http://127.0.0.1:8000/api/v1/products/69081258758830188/productprices { „name“: „Produktpreis1“ }</pre> <p>Aber ich möchte die Erstellung von ProductPrice aktivieren, wenn ich ein Produkt erstelle</p> <pre class="brush:php;toolbar:false;">//Produkt+Produktpreis erstellen POST->http://127.0.0.1:8000/api/v1/products { „name“: „prod2“, „Produktpreise“: [ { „Name“: „pp1“ }, { „Name“: „pp2“ } ] }</pre> <p>Da ich bereits eine ProductPriceRequest habe (und benötige), wie kann ich die ProductPriceRequest-Klasse in der ProductRequest verwenden, um den ProductPrice zu validieren, wenn die Anfrage einen ProductPrice enthält? </p><p>Ich bin neu bei Laravel (ich verwende Version 10) und PHP und habe keine Beispiele zu dieser Situation gefunden</p><p><br />< ;/p>
P粉446800329
P粉446800329

Antworte allen(1)
P粉129275658

个人而言,在另一个ProductPriceRequest类中,我不会尝试重用相同的规则;而对于ProductRequest,我只会做一些类似的操作

'prices.*.name' => ['required', 'min:3'],
'prices.*.id' => ['numeric'],

或者无论你的规则是什么。

从技术上讲,如果你确实想要使用相同的规则,你可以将这些重复的规则放在ProductPrice模型中,然后在两个FormRequest文件中使用它们,但我不确定是否还会有其他冲突,因为在这里,数据是以数组的形式存在,而在另一种情况下(你没有展示在其他地方你使用和需要ProductPriceRequest),可能会传递另一种用于验证的结构

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage