当前位置: 首页 > 知识库问答 >
问题:

如何将附加参数传递给Laravel 8中的validator->after函数。十、

盛琪
2023-03-14

我使用的是Laravel 8。x版本。

正如我们所知,我们还可以附加回调,以便在验证完成后运行。这使我们能够轻松地执行进一步的验证,甚至可以向消息集合添加更多错误消息。我们可以在验证器实例上调用after方法:

$validator = Validator::make(...);

$validator->after(function ($validator) {
    if ($this->somethingElseIsInvalid()) {
        $validator->errors()->add(
            'field', 'Something is wrong'
        );
    }
});

if ($validator->fails()) {
    //
}

但是我想在下面的函数中使用一个$定制变量

$validator = Validator::make(...);

$customVariable = 'not happy';

$validator->after(function ($validator, $customVariable) {
    if ($this->somethingElseIsInvalid()) {
        $validator->errors()->add(
            'field', 'Something is wrong because you are ' . $customVariable
        );
    }
});

if ($validator->fails()) {
    //
}

是否有人可以建议我如何在$validator中传递和使用自定义变量/参数-


共有1个答案

欧阳斌
2023-03-14

可以使用use关键字(docs)从父作用域继承变量。这样的东西应该工作:

$validator = Validator::make(...);

$customVariable = 'not happy';

$validator->after(function ($validator, $customVariable) use ($customVariable) {
    if ($this->somethingElseIsInvalid()) {
        $validator->errors()->add(
            'field', 'Something is wrong because you are ' . $customVariable
        );
    }
});

if ($validator->fails()) {
    //
}
 类似资料:
  • 问题内容: 我需要在Node.JS应用程序中观察少量目录: 问题在于fs.watch仅将文件名传递给回调函数,而没有包括它所在的目录。我是否可以通过某种方式将额外的参数传递给updated()函数,以便它知道文件在哪里? 我认为我正在寻找类似于Python的工具,如果有帮助的话。 问题答案: 您可以使用:

  • 问题内容: 这似乎是一个愚蠢的问题,但是我是这个话题的新手。我正在致力于关于节点js的承诺。我想将参数传递给Promise函数。但是我不知道。 而功能类似于 问题答案: 将Promise包裹在一个函数中,否则它将立即开始工作。另外,您可以将参数传递给函数: 然后,使用它: ES6: 用:

  • 问题内容: 我想在警报窗口中显示该人的电子邮件。但是,我不知道如何将电子邮件作为参数传递给displayAlert方法。此外,它也不会让我使用。因此,我必须将displayAlert方法分配给变量,并在onClick中使用它。我不知道为什么它不能让我直接调用它。 问题答案: ES6方式 : 使用箭头功能 匿名函数被调用并执行 ES5方式: 您可以使用并在其中传递参数来执行此操作。 您还应该传递或使

  • 问题内容: 以下作品: 垃圾邮件 但是,如果拿来争论呢? TypeError:spam()恰好接受1个参数(给定0) 鉴于我无权访问函数本身,而只能访问代码对象,执行该函数时如何将参数传递给该代码对象?评估可能吗? 编辑:由于大多数读者倾向于不相信这样做的用处,请参见以下用例: 我想将小的Python函数保存到文件中,以便可以从其他计算机上调用它们。(在这里不必说这个用例会严重限制可能的功能。)腌

  • 问题内容: 看看这个小提琴,我必须更改什么,才能使用我在HTML中定义的参数来评估模板中的表达式?因为我通过了SAVE按钮,所以它应该调用控制器的- function? 我看不出来。感谢帮助! 问题答案: 您可以按照Roy的建议设置两种方式的数据绑定。因此,如果您既想要又绑定到本地范围,则可以 由于要传递这些值,因此可以在指令的控制器中访问它们。但是,如果您想在父作用域的上下文中运行一个函数,这似

  • 问题内容: 我有一个页面,显示了当地咖啡馆的列表。当用户单击某个咖啡馆时,将显示一个模态对话框,该对话框已预先填写了“咖啡馆名称”。该页面包含许多咖啡馆名称,并且表单应包含他单击的“咖啡馆名称”。 以下是使用链接按钮以文本形式生成的咖啡馆名称的列表 这是模态形式 问题是如何将实际值传递给模式形式的“值”属性? 表单“显示”事件由“ onlick”事件触发 问题答案: 你可以这样: 然后使用jQue

  • 问题内容: 我在工具栏中有大约10个QAction(此数字在运行时会有所不同),它们都会做相同的事情,但是使用不同的参数。我正在考虑将参数作为属性添加到QAction对象,然后,QAction的触发信号还将对象本身发送给回调函数,以便我可以获取该函数所需的参数。我实际上对此有2个问题: 能做到吗 有更好的方法吗? 问题答案: 您可以使用信号映射器发送动作对象本身。但是,最好仅发送一个标识符并在信号