douhan8581 2017-12-01 21:07
浏览 42
已采纳

地址的Laravel验证规则

In my project forms I request users to input addresses. Sometimes a single form can have 2 addresses. An address is always 3 fields (city, street and house number).

To validate I use an external service that returns either gps coordinates or an error, in which case I manually add an error to the validator. I even wrote a helper function so in my controllers it looks like this:

$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')
);

However this solution seems very hacky and repetitive, what I want is just to pass a rule to the validator, that will only receive a prefix, like "firstaddr" or "secondaddr". Is it possible to do it?

  • 写回答

1条回答 默认 最新

  • dregduc63699 2017-12-01 21:14
    关注

    Since Laravel 5.5 you can define custom validation rules.

    In your controller it would look something like

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

    And you could combine that with a form request validation so that the validation logic happens before the execution enters the controller.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测