2016-09-20 4 views
1

Wie würde ich einen Filter implementieren, um Leerzeichen in Benutzername (während der Registrierung) zu blockieren?Freigeben von Leerzeichen in Benutzernamen [UserFrosting/Fortress]

Ich habe mir die Fortress Dokumentation angeschaut, und wahrscheinlich ist die regex Option die zu suchende. Aber es gibt keine Dokumentationsbeispiele in Regex, und ich war bisher bei meinen eigenen Bemühungen nicht erfolgreich (einschließlich \ Probleme in einem JSON-Dokument zu entkommen).

Ich hoffe, dass dies etwas einfach zu lösen ist. Danke.

[UserFrosting 0.3.1]

Antwort

0

Regex in der Tat die beste Option in diesem Fall wäre. Haben Sie versucht:

"user_name" : { 
    "validators" : { 
     "length" : { 
      "min" : 1, 
      "max" : 50, 
      "message" : "ACCOUNT_USER_CHAR_LIMIT" 
     }, 
     "required" : { 
      "message" : "ACCOUNT_SPECIFY_USERNAME" 
     }, 
     "regex" : { 
      "regex" : "/^[\S]*$/", 
      "message" : "Username cannot contain any whitespace characters." 
     } 
    }, 
    "sanitizers" : { 
     "escape" : {} 
    }   
} 
+0

Funktioniert nicht, ungültige JSON im Fehlerprotokoll und leere Seite als Ergebnis. Ich denke, es ist das, das irgendwie entkommen muss. Vielleicht etwas anderes. Außerdem hast du nach "Regex" ein Komma vergessen? Ich habe auch "Undefined Index: regex" in einigen meiner Tests. Konnte es nicht zur Arbeit bringen. – amivag

+0

Das Komma wurde korrigiert. Also ist der Fehler nur auf dem Server-Side-Code? Oder scheitert es, wenn es auch in die Javascript-Regeln übersetzt wird? – alexw

+0

Zum Testen habe ich den Eintrag "user_name" in register.json durch Ihre Version ersetzt. Registerseite erzeugt ein leeres (weißes) Dokument. Im Server-Fehlerprotokoll bekomme ich Folgendes: "... register.json 'konnte nicht gefunden werden, oder es enthält kein gültiges JSON-Dokument ...". Das Problem scheint der \ (Backslash) im Regex-Eintrag zu sein. Sobald ich den Backslash entferne, wird die Seite geladen. (aber das Skript funktioniert natürlich nicht wie vorgesehen) – amivag