Laravel - 扩展验证库

时间:2014-04-19 04:00:54

标签: php laravel laravel-4

我想知道是否有人可以帮助我。

我正在编写一个小应用程序,允许人们注册成为会员。

我有一个支付的计划。

我使用构建验证库来验证名称和密码,但我如何扩展它以同样的方式验证信用卡详细信息。

例如

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

所以我可以在内置库中使用它吗?

非常感谢任何帮助。

干杯,

1 个答案:

答案 0 :(得分:0)

您可以注册自定义验证规则:

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

您也可以使用自定义消息:

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

然后你可以使用它:

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

验证如下:

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

如果要在项目中使用多个位置/控制器/类的自定义规则,也可以扩展Validator类并更好地执行此操作。 Read more here。另请检查PHP的{​​{3}}功能。