Laravel使用記錄(十)表單驗證(三)

語言包

一個表單我們可以這麼設置,兩個表單我們還能這麼設置,但是如果一個項目十個八個表單,同樣的東西我們豈不是要設置幾百遍?難道沒有更加簡單的方法?答案是肯定的,有,使用語言包。

語言包的位置在resources/lang文件夾下,默認有一個語言包en,我們可以看到en下面有四個文件,分別是權限(auth.php),密碼(passwords.php),分頁(pagination.php)和驗證(validation.php)。而我們需要修改的就是驗證文件。

首先我們新建一個zh-CN文件夾,跟en平級,然後複製一個validation.php到zh-CN文件夾中,然後我們打開這個文件,我們會發現,這裏很多驗證規則,有熟悉的required、alpha_dash、min,也有不熟悉的array、date等,這裏就是我們用到的驗證規則以及對應的信息提示,我們只需要把對應的英文翻譯爲中文即可。
例如我們修改

'required'             => ':attribute必須填寫',

完成修改了,我們如何使用呢?此時就需要更改配置文件了。我們打開config/app.php,找到locale,把en改爲我們新建的zh-CN。此時我們再次提交表單,我們發現並沒有生效?仍然是用戶名必填,而不是用戶名必須填寫?其實是因爲我們已經建立了表單請求,表單請求的優先級高於語言包的設置,所以我們纔會發現提示信息沒有改變,我們先把表單請求中的設置註釋了再來看看,此時我們發現提示信息已經改變了。
表單請求

    public function messages()
    {
        return [
            #'required'=>':attribute必填',
            'alpha_dash'=>':attribute輸入的字符必須是數字,字母,-或者_',
            'min'=>':attribute不少於:min個字符',
        ];
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章