You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Livewire验证属性中unique规则失效问题排查

问题分析与解决

你的unique验证规则存在明显语法错误,直接导致了验证失效。

错误原因

Laravel的unique验证规则格式为:unique:表名,要验证的字段名。你当前写的unique:items,id,是在验证id字段的唯一性,系统会把$title的值当作id的查询条件,这就是为什么Telescope里看到的SQL是WHERE id = 'Title 5'——完全偏离了验证title唯一性的需求。

修正代码

把规则里的第二个参数改成title即可:

class ItemEditor extends Component
{
    #[Validate('required|string|min:3|max:255|unique:items,title')]
    public string $title = '';
}

额外说明(编辑场景)

如果后续需要做编辑功能,要排除当前记录的唯一性验证,可以在规则后添加排除条件:

#[Validate('required|string|min:3|max:255|unique:items,title,' . $this->item->id)]
public string $title = '';

(注:需确保组件中已加载要编辑的$item实例)

内容的提问来源于stack exchange,提问作者Petro Gromovo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 05:42:03