国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

自定義驗(yàn)證規(guī)則

2018-02-24 15:52 更新

注冊(cè)自定義驗(yàn)證規(guī)則

Laravel 提供了各種有用的驗(yàn)證規(guī)則,但是,您可能希望可以設(shè)定自定義驗(yàn)證規(guī)則。注冊(cè)生成自定義的驗(yàn)證規(guī)則的方法之一就是使用 Validator::extend 方法:

Validator::extend('foo', function($attribute, $value, $parameters)
{
    return $value == 'foo';
});

自定義驗(yàn)證器閉包接收三個(gè)參數(shù):要被驗(yàn)證的 $attribute(屬性) 的名稱,屬性的值 $value,傳遞至驗(yàn)證規(guī)則的 $parameters 數(shù)組。

您同樣可以傳遞一個(gè)類和方法到 extend 方法中,取代原本的閉包:

Validator::extend('foo', 'FooValidator@validate');

注意,您同時(shí)需要為您的自定義規(guī)則制訂一個(gè)錯(cuò)誤信息。您可以使用行內(nèi)自定義信息數(shù)組或是在認(rèn)證語(yǔ)言文件里新增。
擴(kuò)展 Validator 類

除了使用閉包回調(diào)來(lái)擴(kuò)展 Validator 外,您一樣可以直接擴(kuò)展 Validator 類。您可以寫(xiě)一個(gè)擴(kuò)展自 Illuminate\Validation\Validator 的驗(yàn)證器類。您也可以增加驗(yàn)證方法到以 validate為開(kāi)頭的類中:

<?php

class CustomValidator extends Illuminate\Validation\Validator {

    public function validateFoo($attribute, $value, $parameters)
    {
        return $value == 'foo';
    }

}

拓展自定義驗(yàn)證器解析器

接下來(lái),您需要注冊(cè)您自定義驗(yàn)證器擴(kuò)展:

Validator::resolver(function($translator, $data, $rules, $messages)
{
    return new CustomValidator($translator, $data, $rules, $messages);
});

當(dāng)創(chuàng)建自定義驗(yàn)證規(guī)則時(shí),您可能有時(shí)需要為錯(cuò)誤信息定義自定義的占位符。您可以如上所述創(chuàng)建一個(gè)自定義的驗(yàn)證器,然后增加 replaceXXX 函數(shù)進(jìn)驗(yàn)證器中。

protected function replaceFoo($message, $attribute, $rule, $parameters)
{
    return str_replace(':foo', $parameters[0], $message);
}

如果您想要增加一個(gè)自定義信息 "replacer" 但不擴(kuò)展 Validator類,您可以使用 Validator::replacer 方法:

Validator::replacer('rule', function($message, $attribute, $rule, $parameters)
{
    //
});
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)