10
votes

Symfony Route Configuration requise Restriction

Comment appliquer une obligation qu'un paramètre dans un itinéraire soit une chaîne?

Compte tenu de la route

my_foobar_route: URL: / Exemple / Routage /: S1 /: ID Exigences: {id: \ d +}

Quelqu'un peut-il me rappeler comment forcer Param S1 comme une chaîne?


0 commentaires

3 Réponses :


0
votes

À peu près tout ce qui vient via l'URL est une chaîne - toute exigence est plus forte que cela, vous n'avez pas besoin de faire quoi que ce soit, votre paramètre est déjà une chaîne. Peut-être que vous voulez une chaîne spécialement formatée?


0 commentaires

14
votes

Il vous suffit de fournir une expression régulière appropriée: xxx

edit : des guillemets ajoutés autour de la deuxième expression régulière; YAML interprète [...] comme étant un éventail de paramètres. Merci @chiborg : -)


1 commentaires

Édité, merci. Toujours oublier le [] étant interprété comme une matrice YAML, mes expressions habituelles habituelles dans le routage finissent presque toujours être \ d + ;-)



5
votes

Si vous ne vous souciez pas de ce que la chaîne contient ou si vous ne connaissez pas à l'avance ce qu'il contiendra, essayez ce qu'il contiendra:

my_foobar_route:
  url: /example/routing/:s1/:id
  requirements:
    id: \d+
    s1: "[^/]{3,}"


0 commentaires