2015-09-27 44 views
7

我正在使用Laravel 4.2。我試着去使用驗證器來驗證用正則表達式名稱字段,這裏是我下面的規則:Laravel preg_match():找不到結尾分隔符'/'

public static $rules_save = [ 

     'class_subjects' => 'required|regex:/[0-9]([0-9]|-(?!-))+/' 
    ]; 

但只要我打電話驗證引發錯誤的規則,見下圖:

preg_match(): No ending delimiter '/' found 
+0

@ Rizier123它不一樣的問題它只是看起來相同:) – Arlind

回答

36

因爲你的正則表達式有一個管道中,你必須使用一個數組:

public static $rules_save = [ 
    'class_subjects' => ['required', 'regex:/[0-9]([0-9]|-(?!-))+/'], 
]; 

the docs

使用regex模式時,可能需要在數組中指定規則,而不是使用管道分隔符,尤其是在正則表達式包含管道字符的情況下。

+0

謝謝你的作品。我之前讀過這個,只是覺得我不需要它。 – Arlind

+0

哈哈你爲什麼這麼想?它明確表示,如果你有一個管道... – Juan

+0

感謝它的工作! – shalonteoh

相關問題