dpnhp20440 2014-04-19 04:00
浏览 28
已采纳

Laravel - 扩展验证库

I was wondering if someone could help me out.

Im writing a small application that allows people to signup for membership.

I have a plan which is paid.

I use the in build validation library to validate the name and password, but how can i extend that to validate credit card details the same way.

For example

$rules = array(
    'cardnumber' => 'required|legitcardnum'
);

So i can use it with the inbuilt library?

Any help would be greatly appreciated.

Cheers,

  • 写回答

1条回答 默认 最新

  • drwurqczo39355510 2014-04-19 04:50
    关注

    You can register a custom validation rule:

    Validator::extend('legitcardnum', function($attribute, $value, $parameters) {
        // Maybe you need to use preg_match($pattern, $value)
        if($value == 'cardnumber') return true;
        return false;
    });
    

    You may also use a custom message:

    $messages = array(
        'cardnumber.legitcardnum' => 'Invalid card number!',
    );
    

    Then you may use it:

    $rules = array(
        'cardnumber' => 'required|legitcardnum'
    );
    

    Validate it like:

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

    You may also extend the Validator class and better to do it if you want to use that custom rule more than one place/controllers/classes in your projects. Read more here. Also check PHP's preg_match function.

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

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路