簡體   English   中英

Laravel 5.1創建自定義驗證規則

[英]Laravel 5.1 Creating custom validation rules

在注冊表格I中,用戶名應僅包含az AZ 0-9下划線,破折號和點。 因此,我在AppServiceProvider的啟動方法中定義了一個自定義驗證器,如下所示;

Validator::extend('valid_username', function ($attribute, $value, $parameters)
            {
                    return preg_match('[a-zA-Z0-9_\-\.]', $value);
            }

但是驗證從未通過。 我做錯了什么?

看起來不錯,除了preg_match在模式的開頭和結尾需要/ ,並且還應該匹配字符串的開頭/結尾,並告訴它匹配多個字符:

Validator::extend('valid_username', function ($attribute, $value, $parameters)
{
    return preg_match('/^[a-zA-Z0-9_\-\.]+$/', $value);
}

您當前的模式將僅確認有這些字符中的一個,而不是只有這些字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM