php - Laravel preg_match(): Nessun delimitatore finale '/' trovato



regex laravel-4 (1)

Sto lavorando su Laravel 4.2. Sto cercando di utilizzare Validator per convalidare un campo nome con regex, ecco la mia regola di seguito:

 public static $rules_save = [

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

Ma appena chiamo la regola da convalidare viene generato un errore, vedi sotto:

preg_match(): No ending delimiter '/' found

Poiché il tuo regex ha una pipe, devi usare un array:

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

Dai documenti :

Quando si utilizza il modello regex , potrebbe essere necessario specificare le regole in un array anziché utilizzare i delimitatori di pipe, specialmente se l'espressione regolare contiene un carattere pipe.





regexp-replace