Im travaillant sur Laravel 4.2. Im essayant d'utiliser Validator pour valider un champ de nom avec regex, voici ma règle ci-dessous:
public static $rules_save = [
'class_subjects' => 'required|regex:/[0-9]([0-9]|-(?!-))+/'
];
Mais dès que j'appelle la règle à valider, une erreur est levée, voir ci-dessous:
preg_match(): No ending delimiter '/' found
Étant donné que votre expression régulière contient un tuyau, vous devez utiliser un tableau:
public static $rules_save = [
'class_subjects' => ['required', 'regex:/[0-9]([0-9]|-(?!-))+/'],
];
De les docs :
Lorsque vous utilisez le modèle
regex
, il peut être nécessaire de spécifier des règles dans un tableau au lieu d'utiliser des délimiteurs de canal, surtout si l'expression régulière contient un caractère de canal.