2015-09-27 10 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

あなたの正規表現は、その中にパイプを持っているので、あなたは、配列を使用する必要があります:the docsから

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

を:

regexパターンを使用する場合は、特にパイプ文字が含まれている正規表現の場合は、パイプ区切り文字を使用する代わりに配列でルールを指定する必要があります。

+0

ありがとう、それは動作します。私はこれを先に読んで、私はそれが必要ないと思った。 – Arlind

+0

なぜあなたはそれを考えましたか?あなたがパイプを持っていると明示的に言う... – Juan

+0

ありがとう! – shalonteoh

関連する問題