Laravel 验证独特

2024-03-07

我有一个带有唯一列的表。 我的表单验证规则如下所示:

    return Validator::make($data, [
      'nameEN'   => 'required|string',
      'nameHE'   => 'required|string',
      'address'  => 'required|string|min:10|unique:clients'
    ]);

我的问题是,当我编辑一行时,如果我没有更改地址列,则会收到验证错误。

我的编辑功能如下所示:

public function editPost(Request $request,$id){
    $client = new Client();
    $client->editValidation($request->all())->validate();
    $row = $client->where('id',$id)->get()->first();
    $update = array();
    if(!empty($request->input("nameEN"))    && $request->input("nameEN")    != $row->nameEN) $update["nameEN"] = $request->input("nameEN");
    if(!empty($request->input("nameHE"))    && $request->input("nameHE")    != $row->nameHE) $update["nameHE"] = $request->input("nameHE");
    if(!empty($request->input("address"))   && $request->input("address")   != $row->address) $update["address"] = $request->input("address");

    if(empty($update)) $message = $this->message("info", "Notic: Client {$row->nameEN} was not updated because nothing was changed.");
    else if($client->where("id",$row->id)->update($update)){
        $message = $this->message("success", "Client {$row->nameEN} was updated.");
    } else {
        $message = $this->message("danger", "Error: Client {$row->nameEN} was not updated.");
    }
    $redirect = redirect("clients");
    if(isset($message)) $redirect->with("message",$message);
    return $redirect;
}

如果我删除unique根据我的验证规则,我可能会遇到 mysql 错误。

如何解决这个问题?

先感谢您。


来自docs https://laravel.com/docs/5.5/validation#rule-unique:

有时,您可能希望在唯一检查期间忽略给定的 ID, 指示验证器忽略对象的 ID

'address'  => 'required|string|min:10|unique:clients,address,'.$id

或者你可以使用Rule class

use Illuminate\Validation\Rule;

Validator::make($data, [
   'address' => [
        Rule::unique('clients')->ignore($id),
  ]
]);

如果你的表使用了 id 以外的主键列名,你可以在调用ignore方法时指定列名:

'address' => Rule::unique('clients')->ignore($id, 'primary_key')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 验证独特 的相关文章

  • MySQL Workbench 忽略外键

    在处理 MySQL Workbench 中的 SQL 编辑器时 我偶然发现了一些奇怪的事情 其中 执行似乎忽略了外键约束 这是一个例子 create database testdb use testdb create table t1 te
  • PHP-列出一年中一个月中的所有天[重复]

    这个问题在这里已经有答案了 可能的重复 我在 PHP 中有 2 个日期 如何运行 foreach 循环来遍历所有这些日期 https stackoverflow com questions 3207749 i have 2 dates in
  • Doctrine 装置如何覆盖 purger 类?

    From doctrine fixture bundle the console doctrine fixtures load n命令定义如下 https github com doctrine DoctrineFixturesBundle
  • 当第二个参数包含运算符号时,为什么 ltrim 会删除一个字符? [复制]

    这个问题在这里已经有答案了 If I do ltrim 53 34567 53 ltrim 53 34567 53 ltrim 53 34567 53 I get 4567作为结果而不是34567 这种行为的解释是什么 ltrim 53 3
  • php 检查文件是否存在于外部域中(从子域访问)

    我有一个网站http www reelfilmlocations co uk http www reelfilmlocations co uk 上述网站有一个管理区域 其中上传图像并在 uploads images 目录的子文件夹中创建不同
  • 在 laravel 中禁用特定路由的 csrf

    我有一个支付系统 数据被提交到第三方网站然后被拉回 当数据返回时 它会到达特定的 url 比如 ok 路由 REQUEST transaction 但由于 Laravel 中间件 我遇到了令牌不匹配的情况 第三方支付API无法生成token
  • 如何使用 AJAX/jQuery 显示打印内容?

    所以我试图理解整个 AJAX jQuery 的事情 现在 当我单独运行这个 PHP 脚本时 我必须等待并观察轮子旋转 直到循环完成然后加载 while row mysql fetch array res postcode to storm
  • 使用 Mock 对 Laravel 5 Mail 进行单元测试

    有没有办法在 Laravel 5 中测试 Mail 尝试了我在互联网上看到的唯一合法的模拟示例 但它似乎只适用于 Laravel 4 下面的当前代码 mock Mockery mock Swift Mailer this gt app ma
  • PHP中的反转数组

    array 7 0 gt array 2 id gt string 1 9 roi gt float 0 1 gt array 2 id gt string 1 1 roi gt float 0 2 gt array 2 id gt str
  • laravel 5.3 新的 Auth::routes()

    最近开始使用laravel 5 3写博客 但是运行后出现一个问题php artisan make auth 当我运行这个时 它会在我的web php 这是其中的代码 Auth routes Route get home HomeContro
  • Python 的 mysqldb 晦涩文档

    Python 模块 mysqldb 中有许多转义函数 我不理解它们的文档 而且我努力查找它们也没有发现任何结果 gt gt gt print mysql escape doc escape obj dict escape any speci
  • 为什么 PHPUnit 将一些右大括号显示为未被覆盖?

    我正在使用 PHPUnit 3 6 7 PHP CodeCoverage 1 1 1 和 Xdebug 2 1 2 当我让 PHPUnit 将代码覆盖率统计信息写入 clover 样式的 XML 文件时 它偶尔会显示一个右花括号 表示测试未
  • Laravel Schema Builder 改变存储引擎

    我正在尝试更改表并将其存储引擎更改为InnoDb 当我跑步时php artisan migrate它完成且没有错误 然而 当我检查 Sequel Pro 中的存储引擎时 没有任何变化 public function up Schema ta
  • 如何在之前的 Facebook 身份验证后自动安全地让用户登录?

    用户抱怨他们必须过于频繁地登录 如果身份验证完全基于 Facebook OAuth 那么用户如何在下次访问该页面时自动登录 用户流程示例 用户点击 使用 Facebook 登录 用户通过 Facebook 进行身份验证并被重定向回网站 用户
  • 检查一个类是否是另一个类的子类

    我想在不创建实例的情况下检查一个类是否是另一个类的子类 我有一个类 它接收类名作为参数 作为验证过程的一部分 我想检查它是否属于特定的类系列 以防止安全问题等 有什么好的方法可以做到这一点吗 is subclass of http php
  • PHPMailer 验证失败

    当我尝试在工作中使用 Windows Server 2012 上的 PHPMailer 来使用 SMTP 发送报告电子邮件时 出现身份验证失败错误 我在域上使用服务器管理员帐户 我非常确定密码是正确的 检查下面的代码 require PHP
  • 如何将“mysql source”命令与 mysql 变量一起使用?

    我需要从 mysql shell 执行一个基于如下条件的 SQL 文件 mysql gt 源 var 其中 var 包含文件名 这不可能 source是MySQL客户端程序在本地识别并执行的命令 变量存在于服务器上 因此客户端不知道什么 v
  • Microsoft VS Code:当我尝试启动程序时,出现错误“spawn php ENOENT”

    我正在尝试在 Microsoft VS Code 上运行 PHP 代码 当我单击启动时 唯一发生的事情是调试控制台中出现错误 生成 php ENOENT 为了解决这个问题 我将 XDebug 的 dll 文件放入 ext 文件夹中 我将 p
  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati
  • 使用 PHP 将 SVG 图像转换为 PNG

    我正在开发一个网络项目 该项目涉及动态生成的美国地图 根据一组数据为不同的州着色 这个 SVG 文件为我提供了一张很好的美国空白地图 并且很容易更改每个州的颜色 困难在于 IE 浏览器不支持 SVG 因此为了让我使用 svg 提供的便捷语法

随机推荐

  • 可以在使用 Bokeh 的 IPython 笔记本会话中在 output_notebook 和 output_file 之间切换吗?

    我想知道是否可以在同一个 IPython 笔记本中使用 Bokeh 生成静态 HTML 输出和内联图 我目前看到的是 一旦我打电话output notebook or output file myfile html 我被困在使用那种输出方式
  • 如何从并行进程中运行的函数中检索值?

    Multiprocessing 模块对于 Python 初学者来说相当令人困惑 特别是对于那些刚刚从 MATLAB 迁移并因并行计算工具箱而变得懒惰的人 我有以下函数 运行时间约为 80 秒 我想通过使用 Python 的多处理模块来缩短这
  • 如何在 swift 3 中设置共享 URLCache?

    这是我们在 Swift 2 中的代码 Swift 3 版本是什么 我没有看到 setShared 的替代品 let sharedCache NSURLCache NSURLCache memoryCapacity 0 diskCapacit
  • Oauth2 用于授权和身份验证?

    Oauth2可以用于授权 and 验证 据我了解 Oauth2授权用于从提供商 例如 Facebook Google Twitter 等 访问用户信息的消费者应用程序 但是 Oauth2 可以用来吗认证用户 例如 假设我们有一个由本机移动前
  • 终止使用Python的subprocess.Popen()创建的进程[重复]

    这个问题在这里已经有答案了 这是我的想法 首先 我使用 subprocess Popen 创建了一个进程 其次 在一段时间后 我尝试通过 Popen kill 杀死它 import subprocess import os signal i
  • 确定控制台应用程序是从命令行还是从 Powershell 运行

    如何确定控制台应用程序是从 Powershell 运行还是从应用程序内的标准命令行运行 像这样的事情可能比检查窗口标题更可靠 using System using System Diagnostics Process p Process G
  • Cakephp 2.3.x 发送文件并强制下载 mp4 文件

    我正在使用 cakephp 2 3 1 我想强制下载一个 mp4 文件http book cakephp org 2 0 en controllers request response html cake response file htt
  • Protractor:onPrepare 不同的测试套件

    我登录应用程序的 conf js 文件中有 onPrepare 我的理解是每次我运行 1 个或多个测试套件时 它首先执行 onPrepare 中的任何内容 这很棒 因为我在运行测试之前使用 onPrepare 登录到应用程序 问题是 当我运
  • ggplot2中直方图条形的反向填充顺序

    我注意到 使用绘图创建的直方图中填充条形的默认情况是按字母顺序逆序排列 而图例则按字母顺序排列 我有什么办法让两者按字母顺序排序吗 问题在下面的示例图中很明显 额外问题 如何将从左到右的条形顺序从字母顺序更改为递减计数总数 谢谢 df lt
  • 在部分视图中进行不显眼的客户端验证

    我有一个在 jQuery UI 对话框中呈现的部分视图 因为它是动态内容 所以不引人注目的客户端验证不起作用 为了得到它 我必须强制验证器解析表单的内容调用 validator unobtrusive parse 但这不起作用 我的浏览器报
  • SQL 按版本“编号”排序,不同长度的字符串

    我正在尝试创建一个 SQL 查询 该查询将按版本号 例如 1 1 4 5 10 等 对结果进行排序 这是我尝试过的 SELECT FROM Requirements WHERE Requirements Release NOT LIKE O
  • 每周数据的时间序列分解

    我对 R 完全陌生 刚刚开始使用它 我有三年的每周数据 我想将这个时间序列数据分解为趋势 季节性和其他组成部分 我有以下疑问 我应该使用哪个功能 ts or decompose 如何应对闰年的情况 如果我错了请指正 频率是52 提前致谢 我
  • PyQt5 + Python 3:跨线程传递列表、字典作为信号参数

    我正在使用 pyqtSignal 将 python 列表作为参数从工作线程发送到主线程 qt 何时创建作为参数传递的对象的副本 根据 http www embeddeduse com 2013 06 29 copied or not cop
  • Java优化的Cramers规则函数

    最近了解了初级微积分中的 Cramers 规则 并决定用 Java 制作一个算法来帮助我更好地理解它 以下代码 100 正确运行 但是它不使用任何类型的 for 循环来以更简单的方式执行其操作 问题 Java 中是否有更优雅的 Cramer
  • 如何清除 IDLE shell 中所有文本的屏幕?

    我想为 python 游戏创建一个基于文本的 GUI 我打算在多行文本之间移动一个字符 经过几个小时的在线搜索后 我发现的解决方案对此不起作用 我想要一些能够擦除屏幕上所有文本的东西 这样我就可以重新打印同一行 但角色移动了一个空格 需要明
  • range() 不是每次都会计算它的参数吗?

    l作为参数传递给range其值在内部被修改的函数for循环 但循环是为了10次而不是5 i 0 l 10 for i in range l print i l l l 1 输出是 0 10 1 9 2 8 3 7 4 6 5 5 6 4 7
  • 无法打开应用程序“Eclipse”。 -10810

    更新android L Preview的SDK后 我尝试将ADT从adt 22更新到23 但它说版本冲突 所以无法更新ADT然后我通过about eclipse卸载了ADT插件 重新启动eclipse后没有打开 它显示警告 因为无法打开应用
  • 使用 jOOQ 实现带间隔的 date_sub() 函数

    我从昨天起就一直在处理这个问题 问题是我正在将查询迁移到jOOQ http www jooq org当我尝试实现这一部分时 我陷入了困境 select from table where condition1 and date1 gt dat
  • 登录 Groovy 脚本

    我有一个基本的 Groovy 脚本 我希望尽可能简单地创建日志 我希望消息发送到标准输出以及日志文件 并且日志文件中的每个条目都有一个时间戳 我无法使用 Log 表示法 因为它是一个脚本 而且我没有要注入的类 否则我认为这将是理想的 您可以
  • Laravel 验证独特

    我有一个带有唯一列的表 我的表单验证规则如下所示 return Validator make data nameEN gt required string nameHE gt required string address gt requi