如何在Laravel Livewire表单foreach循环中用动态键获取错误信息?
解决Laravel Livewire foreach循环中动态获取错误消息的问题
问题出在你用了blade的{{ }}语法包裹$index,而在Livewire的属性绑定(:messages)中,内部直接解析PHP表达式,不需要额外的blade输出语法——否则{{ $index }}会被当作字符串的一部分,导致错误键无法正确匹配。
正确的写法有两种:
- 字符串拼接方式:
<x-input-error class="mt-2" :messages="$errors->get('form.productData.product_variants.' . $index . '.name')" />
- PHP字符串插值方式:
<x-input-error class="mt-2" :messages="$errors->get(\"form.productData.product_variants.{$index}.name\")" />
这两种方式都会将$index的实际值动态拼接到错误键中,让$errors->get()能正确获取对应索引位置的错误消息。
内容的提问来源于stack exchange,提问作者Ferri Adi Prasetya
相关产品推荐
相关产品推荐

