laravel - 在 Laravel 中编辑时验证(唯一)
问题描述
也许这已经被问过了,但我没有找到它。
我在我的帖子编辑表单中有一个验证:
$request->validate([
'title' => 'required|unique:posts|max:255',
'content' => 'required',
]);
问题是如果用户只想更改内容,那么标题验证(唯一)将起作用,并且他将无法在不更改标题的情况下确认更改。
如何解决?
UPD。我找到了这个,但是是否可以在不创建新的 RequestController 的情况下实现它?
解决方案
在您的情况下,在更新帖子时,您可以通过在规则post
中指定该 id来忽略您正在更新的当前idunique
$request->validate([
'title' => 'required|unique:posts,title,'.$post->id.'|max:255',
'content' => 'required',
]);
推荐阅读
- google-search - 谷歌空白搜索结果
- swift - 除一些使用正则表达式的字符外,在所有字符上拆分字符串
- node.js - 使用 Node.js 将图像上传到 Amazon S3 API
- javascript - 如何将纬度数据转换为航点值/calculateRoute()?(这里 API/矩阵 API)
- wcf - WCF Web 服务:如何运行?
- python - 计算数据框中的斜率
- python-3.x - 不知道为什么输出是 1 1,而不是 1123?
- javascript - 在反应 UI 中提取满足范围标准的排序数组值
- vue.js - 如何重置isVerified电子邮件验证羽毛js
- android - 无法从方法更改片段文本视图