Laravel 验证属性“好名字”

2023-12-21

我正在尝试使用“语言> {语言}>validation.php”中的验证属性来替换:属性名称(输入名称)以获得正确的读取名称(例如:first_name>名字)。使用起来似乎很简单,但验证器不会显示“好名字”。

我有这个:

'attributes' => array(
    'first_name' => 'voornaam'
  , 'first name' => 'voornaam'
  , 'firstname'  => 'voornaam'
);

为了显示错误:

@if($errors->has())
  <ul>
  @foreach ($errors->all() as $error)
    <li class="help-inline errorColor">{{ $error }}</li>
  @endforeach
  </ul>
@endif

以及控制器中的验证:

$validation = Validator::make($input, $rules, $messages);

$messages 数组:

$messages = array(
    'required' => ':attribute is verplicht.'
  , 'email'    => ':attribute is geen geldig e-mail adres.'
  , 'min'      => ':attribute moet minimaal :min karakters bevatten.'
  , 'numeric'  => ':attribute mag alleen cijfers bevatten.'
  , 'url'      => ':attribute moet een valide url zijn.'
  , 'unique'   => ':attribute moet uniek zijn.'
  , 'max'      => ':attribute mag maximaal :max zijn.'
  , 'mimes'    => ':attribute moet een :mimes bestand zijn.'
  , 'numeric'  => ':attribute is geen geldig getal.'
  , 'size'     => ':attribute is te groot of bevat te veel karakters.'
);

有人可以告诉我我做错了什么吗?我希望 :attribute 名称被属性数组(语言)中的“好名字”替换。

Thanks!

EDIT:

我注意到问题是我从未为 Laravel 项目设置默认语言。当我将语言设置为“NL”时,上面的代码有效。但是,当我设置语言时,该语言将出现在网址中。我更喜欢它不。

所以我的下一个问题:是否可以从网址中删除语言,或者设置默认语言,以便它不会出现在那里?


是的,你所说的“好名字”属性在几个月前是一个真正的“问题”。 希望现在有这个功能实施的 https://github.com/laravel/framework/issues/655并且使用起来非常简单。

为了简单起见,我将拆分两个选项来解决这个问题:

  1. Global可能是更广泛的。这种方法很好解释here http://laravel.io/topic/8/naming-attributes-for-validation-messages但基本上你需要编辑应用程序/语言/XX/validation.php验证文件,其中 XX 是您将用于验证的语言。

在底部你会看到一个属性数组;这将是你的“好名字”属性数组。按照你的例子,最终结果将是这样的。

'attributes' => array('first_name' => 'First Name')
  1. Locally这就是泰勒·奥特威尔 (Taylor Otwell) 在issue https://github.com/laravel/framework/issues/655当他说:

您现在可以在 Validator 实例上调用 setAttributeNames。

这是完全有效的,如果你检查源代码 https://github.com/laravel/framework/blob/master/src/Illuminate/Validation/Validator.php你会看见

public function setAttributeNames(array $attributes)
{
    $this->customAttributes = $attributes;

    return $this;
}

因此,要使用这种方式,请参阅以下简单示例:

$niceNames = array(
    'first_name' => 'First Name'
);

$validator = Validator::make(Input::all(), $rules);
$validator->setAttributeNames($niceNames);

资源

有一个非常棒的回购协议Github https://github.com/caouecs/Laravel4-lang有很多语言包可供使用。您绝对应该检查一下。

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

Laravel 验证属性“好名字” 的相关文章

  • 如何使用 zend 导入 CSV

    如何使用 zend 框架导入 CSV 文件 我应该使用 zend file transfer 还是有任何我必须研究的特殊类 另外 如果我使用 zend file transfer 是否有任何特殊的 CSV 验证器 你不必使用任何 zend
  • PHP 将页面生成的标题放入

    我们在网站的所有页面中包含一个 header php 文件 因此 我们可以在 header php 文件中放置一个标题 该标题将应用于整个站点 或者在每个页面中添加一个自定义标题以更具描述性 问题是 这样做时 标题将位于 head 标签之外
  • Stripe API - 代理后面的 PHP Curl 请求

    我正在尝试使用 php 和curl 在代理后面向 stripe api 发出请求 如果我不在代理后面 则以下内容有效 ch curl init curl setopt ch CURLOPT URL https api stripe com
  • 列出某个类的所有对象

    好的 我的问题如下 我有一个用这个构造函数描述宠物的类 public function construct name type age 所以我想做的是制作一些宠物对象 然后我想打印这个类的所有对象的所有属性 这样它看起来像this http
  • Facebook“喜欢”按钮,喜欢另一个页面/URL

    我有一个链接列表 每个单独的页面上都有一个 喜欢 按钮来 喜欢 该页面 但我想要列表中每个链接旁边有一个 喜欢 按钮 该按钮会喜欢旁边链接的 URL 就像单击链接然后单击 喜欢 按钮一样 我该怎么做呢 要在每个单独的页面上创建按钮 我使用以
  • 为什么不能将 MYSQL 函数传递到准备好的 PDO 语句中?

    在我看来 以下脚本应该有效 stmt db gt prepare UPDATE table SET status date modified stmt gt execute array 1 NOW 但经过时NOW 进入准备好的声明中 什么也
  • 如何将 imagecropauto() 与 IMG_CROP_TRANSPARENT 一起使用?

    当我尝试裁剪图像的透明区域时 它会保持原始大小 并且透明区域会变成黑色 如果我运行这段代码
  • mPDF 临时文件不可使用 Yii 写入

    我尝试打印 PDF 格式的证书 但是当我将代码推送到暂存阶段时 它说 Temporary files directory var www protected vendor mpdf mpdf src Config tmp is not wr
  • count 和 groupby 在一个查询中一起使用

    以下查询正在获取页面上的一些产品信息 这很好 但我也想以文本形式显示它出现的产品编号 但是 我使用了groupby但我也想用count on pro id SELECT FROM cart WHERE session id SESSION
  • 如何在 Doctrine 中使用 andWhere 和 orWhere ?

    WHERE a 1 AND b 1 Or b 2 AND c 1 OR c 2 我怎样才能在教义中做到这一点 q gt where a 1 q gt andWhere b 1 q gt orWhere b 2 q gt andWhere c
  • htaccess隐藏php扩展时出错,只隐藏html

    我在使用 htaccess 隐藏网站上的 php 扩展时遇到问题 我看到很多网站试图修复它 但没有任何结果 但只有 html 扩展名对我来说是隐藏的 在我的 htaccess 上 我用这个来隐藏扩展 它就在错误页面之后 这是我的 htacc
  • OOP 中的静态和动态变量/方法是什么?

    我试图更好地理解 OOP 中的基本概念 面向对象编程中的静态和动态变量和方法是什么 例如 使用 this 与使用双冒号 之间有什么区别 this this gt a method 优点 缺点 这个 不是自我记录的 如下所示 this gt
  • 使用 PHP SDK 获取页面的最新 Facebook 帖子

    以下代码位于名为 facebook posts php 的文件内 我从索引文件中调用该文件 如下所示 然而 这段代码放到哪里 却没有任何反应 因此 成功和捕获错误都不会返回错误 正如我所见 我尝试过绝对网址 但这也不起作用 我隐藏了 api
  • 使用 php 和 sendmail 发送有关测试 docker 容器的电子邮件

    我用的是ubuntu 16 04 我有一个 测试 docker docker compose 容器运行 php 5 6 和 apache 2 4 在生产平台 没有docker 上 邮件是通过sendmail发送的 如何在docker容器上发
  • iPhone表情插入MySQL却变成空值

    我们正在开发一个 iPhone 应用程序 它将表情符号从 iPhone 发送到服务器端 PHP 并插入到 MySQL 表中 我正在做服务器端的工作 但是insert语句执行成功后 插入的值变成空了 我可以正确插入字段 varchar 的是文
  • 有没有办法获取 PHP 中可用区域设置的列表?

    在Java中 你可以调用Locale getAvailableLocales 获取可用区域设置的列表 我期待 PHP 的同等功能Locale http php net manual en class locale php类 但找不到 有没有
  • 从数据库中给定时间起经过的时间

    我有一个 HTML 表 其中包含从数据库中提取的记录 我正在使用 PHP MySQL 我的表中名为 Timer 的列未从数据库中检索 我需要在此处显示经过的时间 从数据库中的特定时间开始 例如 假设现在的时间是2013年2月21日下午6点2
  • 下载表格 - 选择文件合并到 Zip 中

    我希望创建一个表单 用户可以从手册列表中进行选择 总共10个 他们可能只想下载 3 份小册子 或 6 份 或 1 份 或 9 份小册子 但想法是他们选择所需的小册子 然后用脚本组合一个包含所需小册子的 zip 文件 任何人都可以提出任何建议
  • PHP 中的数据清理[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PHP filesize() 适用于除一个文件之外的所有文件,给出 stat failed 错误

    我正在编写一个 PHP 页面 该页面通过抓取现有 HTML 页面来生成播客提要 一切正常 但我的 mp3 文件之一出现 filesize stat failed 错误 据我所知 该文件没有损坏 并且播放得很好 我还将文件重新上传到服务器 它

随机推荐

  • 归纳命题在 Coq 中如何运作?

    我正在阅读软件基础中的 IndProp 和 Adam Chlipala 的第 4 章书 但我在理解归纳命题时遇到了困难 为了运行示例 让我们使用 Inductive ev nat gt Prop ev 0 ev 0 ev SS forall
  • 在 iPhone 上保存数据的最佳方法

    我正在编写一个 iPhone 应用程序 需要保存应用程序的状态 5K 左右 我主要担心的是数据在升级过程中持续存在 我使用的一些应用程序显然犯了这个错误 但我宁愿不这样做 要保存状态 NSUserDefaults 是最佳选择 我相信大多数
  • android:如何制作三角形布局

    我想为谷歌地图制作自定义信息窗口 我可以做到 但我无法制作三角形波纹管布局 我可以在那里添加图像 但布局在外线上有阴影 有人建议我该怎么做 如何制作红色区域内的部分 正如你所看到的 外部布局有阴影 您可以使用材质组件库来创建自定义shape
  • 具有 Pod 依赖项的 XCFramework

    我们的目标是创建一个隐藏我们内部代码的框架并向我们的客户提供SDK 我们想到创建满足我们要求的XCFramework 互联网上也有人建议采用伞形框架 但大多数建议避免这种方法 我们的框架依赖于我们通过 Pod 使用的一些第三方库 问题 XC
  • 应用程序应如何使用 ForegroundLockTimeout 注册表值?

    如果一个应用程序调用并激活另一个应用程序 则可能会出现被调用的应用程序未进入前台的问题 One 解决方法 http social msdn microsoft com Forums en US 20ef51e5 528f 4f0a 9bdb
  • 错误:“ModalBottomSheetRoute”是从两者导入的

    错误 ModalBottomSheetRoute 是从 package flutter src material bottom sheet dart 和 package modal bottom sheet src bottom sheet
  • 如何在 jQuery 中转义单引号? [复制]

    这个问题在这里已经有答案了 我正在尝试使用转义函数来转义单引号 var tagDesc Workers Compensation tagDesc escape tagDesc tagDesc tag css display none 转义函
  • PHP DataMapper 模式:我的类需要 PDO 实例,我想将其包装在 Db 类中

    这就是我所拥有的 class Entry public id public name public seoName public timeCreated public function someFunction class EntryMap
  • 如何从现有数据帧中创建数据帧中的上一列和下一列?

    所以 假设我有一个这样的数据框 df pd DataFrame person A A B B A datetime 2018 02 26 10 49 32 2018 02 26 10 58 03 2018 02 26 10 51 10 20
  • 如何粘贴到终端?

    我复制了一个网址 例如git gitorious org openhatch oh mainline git 我想使用键盘快捷键将其粘贴到终端中 Please不要说 右键单击并粘贴 Gnome terminal defaults to Co
  • .NET 不在 PATH 中搜索我的 C# DLL

    我有一个 C dll 例如 dll1 它被另一个 C dll 例如 dll2 引用 dll1 的路径在环境变量 PATH 中指定 当我尝试编译 dll2 时 dll2 报告错误 无法找到程序集 dll1 我不知道如何才能实现这一点 我认为
  • 如何让 WCF 与此 Web 服务对话?

    这是后续的这个问题 https stackoverflow com questions 1953132 whats the problem with this web service method 按照建议作者 Benjamin 在这里 h
  • Cygwin 和 PHPUnit:无法打开输入文件:/cygdrive/c/xampp/php/phpunit

    有没有办法从 Cygwin 运行 PHPUnit 每次我运行 PHPUnit 时都会收到此错误 Could not open input file cygdrive c xampp php phpunit 我正在尝试在我的 Zend Fra
  • Silverlight 4 获取当前用户

    我已经看到这个关于 Silverlight 2 的问题 但我还没有看到任何关于 Silverlight 4 的问题 有没有办法让当前用户在 Silverlight 4 0 中运行应用程序 我想我记得看到过这是 4 0 的功能之一 但我找不到
  • Scala 相当于 java.util.Scanner

    我非常熟悉使用java util Scanner with next hasNext nextInt nextLine 等来解析输入 我还应该在 Scala 中使用其他东西吗 这些数据不是按照语法构建的 而是按照语法构建的 它比那更临时 例
  • AsciiDoc 在列表块内添加粗体文本

    有一些 AsciiDoc 有一个类似的块 this is a test with some formatted tabbed text in it blah 我希望文本显示为 this is a test with some formatt
  • 如何从windbg中的函数获取返回值?

    我正在尝试调试一些 win32API 例如返回句柄的 Createthread 如何获取windbg的返回值 我做了一些研究 发现返回值通常存储在 EAx 寄存器中 如果我在 CreateThread 上放置断点 那么我可以单步执行 Cre
  • Java 7 Kerberos 问题 - AES128 校验和损坏

    我正在从 Java 6 迁移到 Java 7 并且遇到了 Kerberos 身份验证问题 在我看来 底层加密类型顺序已被切换 因此使用了不同的加密类型 在这种情况下Aes128CtsHmacSha1EType当 Java 7 运行时 将用于
  • 设置 double 中点后的位数

    在 C double 类型中 如何设置点后的位数 我只需要 4 谢谢 你不能 二进制浮点数 http pobox com skeet csharp floatingpoint html不是那样的 你可以format这样就可以加倍 例如使用
  • Laravel 验证属性“好名字”

    我正在尝试使用 语言 gt 语言 gt validation php 中的验证属性来替换 属性名称 输入名称 以获得正确的读取名称 例如 first name gt 名字 使用起来似乎很简单 但验证器不会显示 好名字 我有这个 attrib