【问题标题】:Laravel validation rule for address地址的 Laravel 验证规则
【发布时间】:2018-05-16 00:55:14
【问题描述】:

在我的项目表单中,我要求用户输入地址。有时一个表单可以有 2 个地址。地址始终是 3 个字段(城市、街道和门牌号)。

为了验证,我使用了一个返回 gps 坐标或错误的外部服务,在这种情况下,我手动将错误添加到验证器。我什至写了一个辅助函数,所以在我的控制器中它看起来像这样:

$this->validateAddress(
    $v,
    $request->input('firstaddr.city'),
    $request->input('firstaddr.street'),
    $request->input('firstaddr.house')
);
$this->validateAddress(
    $v,
    $request->input('secondaddr.city'),
    $request->input('secondaddr.street'),
    $request->input('secondaddr.house')
);

但是这个解决方案看起来很老套和重复,我想要的只是将一个规则传递给验证器,它只会接收一个前缀,比如“firstaddr”或“secondaddr”。有可能吗?

【问题讨论】:

    标签: php laravel validation


    【解决方案1】:

    从 Laravel 5.5 开始你可以定义custom validation rules

    在您的控制器中,它看起来像

    $request->validate([
        'firstaddr' => [new Address],
        'secondaddr => [new Address]
    ]);
    

    您可以将其与form request validation 结合使用,以便在执行进入控制器之前发生验证逻辑。

    【讨论】:

    • 很好,正是我想要的。谢谢!
    • 不客气。如果您在此过程中需要更多帮助,我会不断更新答案。
    猜你喜欢
    • 1970-01-01
    • 2017-05-05
    • 2020-06-09
    • 2016-12-17
    • 2020-06-25
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多