1. 程式人生 > >laravel5之自定義驗證規則15位18位身份證驗證

laravel5之自定義驗證規則15位18位身份證驗證

1,app\Providers\AppServiceProvider.php

在檔案中的boot方法中新增

namespace App\Providers;
use Validator;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider {

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
public function boot() {
        //擴充套件身份證驗證規則
Validator::extend('identitycards', function($attribute, $value, $parameters) { return preg_match('/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/', $value); }); Validator::extend('telphone'
, function($attribute, $value, $parameters) { return preg_match('/^1[34578][0-9]{9}$/', $value); }); }
2,

自定義驗證錯誤資訊,找到resources\lang\zh-CN\validation.php檔案

在return中新增

'identitycards' => '身份證號錯誤!',

這樣就註冊好了。

現在開始始用,在你需要的地方使用,和laravel提供的驗證一樣如下

'icards' => 'required|identitycards

注:

identitycards這個命名就是新的驗證規則可自定義()但三個地方都得

一致。