对 Laravel 中的可选字段应用“存在”验证

2024-01-17

我正在 Laravel 5.4 中的一个项目上工作,我想对两个可选字段执行“存在”验证规则(仅当提供值时)。

我已经尝试过以下方法:

// Define validation rules
$validator = Validator::make($request->all(), [
    'user_group_id' => 'sometimes|exists:groups,id',
    'user_organisation_id' => 'sometimes|exists:organisations,id',
    // my other required fields here...
]);

// Validate store request
if ($validator->fails())
    return redirect()
        ->back()
        ->withErrors($validator)
        ->withInput();

在我的应用程序中,用户并不总是属于一个组或一个组织。因此,当我在没有选择团体/组织的情况下提交表单时,我预计验证不会执行,但事实却是 - 我收到以下错误:

The selected user group id is invalid.
The selected user organisation id is invalid.

如何仅在提供值时应用“存在”验证规则?使用“有时”标志似乎不起作用。


我尝试了类似的方法,它似乎有效:

// Define validation rules
if (!empty($request->user_group)) $rules['user_group'] = 'exists:groups,id';
if (!empty($request->user_organisation)) $rules['user_organisation'] = 'exists:organisations,id';
$rules = [
    // normal required field validations here
];
$validator = Validator::make($request->all(), $rules);

这是实现条件验证的唯一方法吗?


我通常使用sometimes with required我还没有确认/证明为什么我需要它,所以我最终得到这样的结果:

'user_group_id' => 'sometimes|required|exists:groups,id',

PS:根据我使用 Laravel 的一点经验,我也有过类似的遭遇。检查自https://laravel.com/docs/5.2/validation#conditionally-adding-rules https://laravel.com/docs/5.2/validation#conditionally-adding-rules

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

对 Laravel 中的可选字段应用“存在”验证 的相关文章

  • 延迟 HTML5:无效伪类直到第一个事件发生

    我最近发现 invalid伪类适用于required页面加载后立即生成表单元素 例如 如果您有以下代码
  • 如何从一行获取数据并移动到模态?拉拉维尔 5.4

    我有一个表 其中列出了数据库中的产品 其中包含 ID 名称 描述以及其他数据类型 我创建了一个按钮 该按钮将调用模态来显示有关产品的更多详细信息 但是模态始终显示表中第一个产品的详细信息 而不是与其相关的 ID 我的桌子 我的表代码 tab
  • 两种模型,一种是 STI,一种是验证

    假设我有两个表 产品和订单 为了简单起见 假设一次只能购买一种产品 因此没有像 order items 这样的连接表 所以关系是Product有很多订单 Order属于product 因此 product id是Order表中的一个fk 产
  • 创建 Laravel 服务类

    我的正常运行时间 php
  • 检测 JTextField“取消选择”事件

    有没有某种方法可以检测 JTextField 是否被取消选择 即该字段已被选择 但现在您选择了其他内容 我想要这样做的原因是因为我想在用户尝试提交数据之前检查用户表单中是否有任何非法字符 如果有一些更简单的方法来做到这一点 而不是我试图解决
  • http://jigsaw.w3.org/css-validator/ 和 http://www.css-validator.org/ CSS 验证器之间的区别?

    我尝试使用两个验证器验证我的 CSS 但它们给出了不同的结果 http www css validator org http www css validator org 返回的错误 在我的例子中为 245 比http jigsaw w3 o
  • 验证总结问题

    我有一个页面 我正在使用验证摘要和必需的字段验证器 当我单击验证按钮时 两个验证摘要中都会显示错误消息 并显示在必填字段验证器中写入的消息 我想在验证摘要和必填字段验证器中显示不同的消息 例如 验证摘要应显示 标有 的字段为必填字段 并且必
  • 在 MATLAB 中验证输入的最佳实践

    在验证 MATLAB 函数中的输入时 什么时候使用 inputParser 比使用断言更好 或者还有其他更好的工具可用吗 我个人发现使用 inputParser 不必要地复杂 对于 Matlab 始终需要检查 3 项内容 存在 类型和范围
  • 我如何加入 Eloquent:关系?

    我的查询是这样的
  • 如何使用 Twitter Bootstrap 弹出窗口进行 jQuery 验证通知?

    我可以使用弹出窗口出现引导程序 http twitter github com bootstrap很容易 我还可以使用标准进行验证jQuery 验证插件 http docs jquery com Plugins Validation or
  • Laravel - LIKE 运算符来搜索加密值

    我正在尝试在 Laravel 应用程序中实现一个搜索模块 可以按名称过滤用户 为了保护用户 name 列行在数据库上加密 我面临的问题是下面的查询总是返回 0 结果 我在搜索数据库之前对搜索输入值进行加密 patients DB selec
  • 如何根据状态从父表和子表获取数据,其中外键每行具有不同的状态

    我有 2 个具有外键关系的表 情况是我有一个case and a case有很多revisions 和每个revision有自己的status 如果仅更改外键表状态的特定行 我想获取父表数据和子数据 Table Case id case n
  • 获取所有连接的用户 (Laravel 5)

    如何显示我家中所有已连接的用户 这是一个非常基本的方法 但希望是检测两者的有效方法Guest and RegisteredLaravel5 应用程序上的用户 Step 1 打开文件config session php并将驱动程序更改为数据库
  • Laravel Valet 不工作。 127.0.0.1 连接被拒绝

    试图让代客泊车设置正常工作 当访问 127 0 0 1 时 连接被拒绝 这是我在访问 dev 站点设置之一时收到的消息 我已经确保 apache 已停止 并且一直在谷歌上搜索所有地方 但无法找到解决方案 有没有人遇到过这个或对下一步尝试什么
  • Laravel 解析错误:语法错误,意外的 T_CLASS,期望 T_STRING 或 T_VARIABLE

    安装laravel后出现错误 解析错误 语法错误 意外的 T CLASS 第 50 行 C xampp htdocs laravel public index php 中期望 T STRING 或 T VARIABLE 或 Laravel
  • 每 30 秒运行一次 Laravel 方法

    我有一个在我调用应用程序上的特定 URL 时运行的方法 它处理数据库队列中的行 该间隔被设置为 Cron 可能的最小间隔 即 1分钟 这需要减少到 30 秒 所以我想知道如何最好地实现这一目标 我想我可以在我的脚本中构建一个循环 运行代码两
  • laravel 正则表达式验证不起作用

    我刚刚开始使用 laravel 正在努力验证我的表单之一中的文本区域 文本区域用于用户简介 因此我只想允许使用字母 数字 空格和以下字符 这就是我所拥有的 validator Validator make Input all array b
  • 在约束验证器中使用 Guice 进行依赖注入

    我有一个在 ConstraintValidator 的实现中注入类的用例 我正在使用 Google guice 进行依赖项注入 目前无法在验证器内注入 我的场景的简化形式 内部模块 Provides Singleton public Ser
  • URL::forceSchema 在登录前不起作用

    我在用着URL forceSchema https 在我的 Laravel 5 3 应用程序上强制使用 SSL 然而 它只有在登录后才有效 即使登录页面没有被 https 覆盖 我在用着可信代理 https github com fidel
  • ASP.NET - 在表示层中显示业务层错误

    目前 在我正在开发的 ASP NET 应用程序中 基本验证 即必填字段 是在表示层中使用验证器和 ValidationSummary 完成的 这对我来说非常有用 因为 ValidationSummary 将显示多个错误消息 假设多个验证器设

随机推荐

  • 在sql server中对加密列建立索引

    我将患者健康信息存储在 SQL Server 2012 数据库中 当我搜索病人的姓名时 他们的名字是加密的 所以搜索速度非常慢 如何在加密列上添加索引 我在 varbinary 字段上使用对称密钥加密 256 位 AES 患者的名字 姓氏
  • Maven 版本控制最佳实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 更改 Maven 项目版本 发布此版本然后返回到的最佳方法是什么 SNAPSHOT发展 目前我正在做以下事情 检索当前版本 最有可能的是SNAP
  • 如何绘制多列的条形图 3D 投影

    我有一个表 其中包含根据两个不同参数的三个不同时间特征 我想在 x 轴和 y 轴上绘制这些参数 并在 z 轴上显示三个不同时间的条形 我创建了一个简单的条形图 其中绘制了其中一个时间特征 import numpy as np import
  • 是否可以将数据从 DelegatingHandler 传递到 ASP.NET Web API 中的控制器?

    我正在实现一个与授权相关的 DelegatingHandler 其中我从数据库加载 api 用户 调用者 配置文件 当授权成功时 我想将此实例传递给控制器 否则我必须再次加载它 有没有办法在不使用会话或依赖存储库缓存的情况下执行此操作 Ht
  • 当网格被过滤时,Kendo 工具栏 AddNew 按钮不起作用

    我有一个小的剑道网格 设置如下 以一种令人难以置信的神秘方式 添加新 的控制器操作 即BatchCreate仅当您在单击 添加新项 后单击另一个命令按钮时才会调用 例如 a 单击 添加新的 什么也没有发生 b 重新加载页面 点击 Add N
  • 了解第 3 方 iframe 安全性?

    Facebook 和其他公司提供了一些小的 iframe 片段 我可以将它们放入我的网站中 例子 我想知道的是 如果我把这段代码放在我这边 他们加载到我页面中的代码可以访问我页面的 DOM 吗 如果是的话 我看到一些安全问题 同样 Face
  • 在 Haskell 中模拟路径依赖类型

    这是我想做的事情的一个简化示例 假设你有一个HList对 let hlist HCons 1 1 HCons 0 2 HCons 0 1 5 HNil 现在我想写一个函数replaceAll它将用相同类型的第一个 值 替换给定类型的所有 键
  • 随机选择ArangoDB中的一个文档

    有没有办法使用 AQL 从集合中随机返回文档 我想创建一个随机图用于测试目的 我还没有弄清楚如何从集合中随机选择文档 我希望我能够做这样的事情 db query RETURN nodes RAND 0 LENGTH nodes toArra
  • 在 React Native 中如何更改 Android 上的根视图背景颜色?

    我在网上读过一些教程 但大部分都是关于 iOS 的 或者一些关于 Android 的 但是使用旧版本的 React 现在一切都变了 如果我打开 MainActivity java 只有一种方法 Override protected Stri
  • 使用 LDAP Active Directory 身份验证的 ActiveMQ Web 控制台

    努力让 ActiveMQ Web 控制台使用 LDAP 并根据 Active Directory 进行身份验证 启动 MQ 时没有错误 出现用户名 密码登录框提示 但在插入正确的凭据时没有进展 Version 5 15 6 登录配置 amq
  • 为什么 C++ 不需要“new”语句来初始化 std::vector?

    考虑 bar h class bar Standard stuff omitted std vector
  • 如何使用 Moq.Dapper 模拟 QueryMultiple

    我正在编写单元测试用例 并且我成功地编写了单元测试用例Query 但我无法编写单元测试用例QueryMultiple 对于查询我是这样写的 IEnumerable
  • 设置视图中的所有变量

    问题 如何轻松更改 ForEach 语句内单独视图中的所有变量 查看代码中的注释 ContentView State var isShowing false var body some View Toggle IsShowing isOn
  • 如何在 MongoDB 中创建“触发器”

    我想创建一个触发器 其中插入的每个子文档都会在其他集合中增加一个字段 用于生成该集合的子文档计数 我尝试使用 MapReduce 创建搜索 但对于数百万个注册表来说速度非常慢 注意 我使用 C 但如果您喜欢展示如何在 Bson 中执行操作
  • 在 iPhone 上播放背景音频

    如何在应用程序运行时播放背景音频 Thanks 好的 这是 iOS4 和 iOS5 上背景声音的解决方案 绝对适用于 iOS 5 0 1 我仅使用 AVPlayer 对其进行了测试 它可能也适用于 MPMusicPlayerControll
  • 无法在 JavaScript 中创建多个 if 条件?

    我完全不知道为什么这不起作用 对我来说毫无意义 这将返回 语法错误 解析错误 if this attr id search opening true return false 为了更好地衡量 我还尝试了以下方法 得到了相同的结果 if 1
  • 使用 OpenCV 进行图像 alpha 合成

    我想实施这些步骤 这是我的代码 import cv2 from skimage io import import numpy as np imA cv2 imread C jpg kernel np ones 3 3 np uint8 im
  • 如何为 Spring Boot 应用程序配置端口

    如何配置 Spring Boot 应用程序侦听的 TCP IP 端口 使其不使用默认端口 8080 As 文档中说 http docs spring io spring boot docs current reference htmlsin
  • 从邻接矩阵绘制图

    我正在 MATLAB 中寻找一个命令 它可以帮助我在给定邻接矩阵的情况下绘制图形 谁能帮我 此外 我需要一些图形工具来计算图形上点之间的最短距离 集合的直径 集合之间的距离等 谢谢 检查这个Matlab函数松下春菜 http nlab ee
  • 对 Laravel 中的可选字段应用“存在”验证

    我正在 Laravel 5 4 中的一个项目上工作 我想对两个可选字段执行 存在 验证规则 仅当提供值时 我已经尝试过以下方法 Define validation rules validator Validator make request