2016-09-20 8 views
1

ユーザー名のスペースをブロックするフィルタを実装するにはどうすればよいですか?ユーザー名のスペースを許可しない[UserFrosting/Fortress]

私はFortressのドキュメントを見てきました。おそらくregexオプションがあります。しかし、正規表現についてのドキュメントの例はなく、これまでのところ私自身の努力では成功していませんでした(\ JSONドキュメントのエスケープ問題を含む)。

私はこれが解決しやすいものであることを望みます。 ありがとうございます。

[UserFrosting 0.3.1]

答えて

0

Regexが実際にこのケースで最良の選択肢だろう。試してみましたか:

"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

エラーログと空白ページで無効なJSONが動作しません。私はそれが何とかエスケープする必要があると思う。多分何か。また、 "正規表現"の後にカンマを忘れた?私もいくつかのテストで "Undefined index:regex"を取得しました。それを働かせることができませんでした。 – amivag

+0

コンマが修正されました。したがって、エラーはサーバーサイドのコードにのみありますか?それともJavascriptのルールにも変換されているときにそれは失敗ですか? – alexw

+0

テストのために、register.jsonの "user_name"エントリをあなたのバージョンに置き換えました。登録ページで空白の(白い)文書が作成されます。サーバーのエラーログには、 "... register.json 'が見つかりませんでした、または有効なJSONドキュメントが含まれていません..."というメッセージが表示されます。問題は、正規表現エントリの\(バックスラッシュ)のようです。バックスラッシュを削除すると、ページが読み込まれます。 (ただし、スクリプトはもちろん意図したとおりに動作しません) – amivag

関連する問題