ユーザー名にユーザーの空白スペースがないことを検証したいと考えています。これを行う検証が組み込まれていますか?またはこれを行うための最良の方法は何ですか?かなり一般的な要件であるように思えます。Railsはユーザー名に空白がないことを確認します
答えて
私はformat validatorしようとするだろう:
validates :username, format: { with: /\A[a-zA-Z0-9]+\Z/ }
ほとんどの場合、ユーザー名に空白を入れたくない場合は、他の文字も必要ありません。
それとも、本当に唯一の、空白文字をチェックする代わりにwithout
を使用する必要がある場合:
validates :username, format: { without: /\s/ }
完全なドキュメント:http://api.rubyonrails.org/classes/ActiveModel/Validations/HelperMethods.html#method-i-validates_format_of検証を追加するには、Userモデルでは
私は、カスタムバリデータを作成する必要があります信じる:
validate :check_empty_space
def check_empty_space
if self.attribute.match(/\s+/)
errors.add(:attribute, "No empty spaces please :(")
end
end
ちょうど '\ s'、' + 'は不要です。 – pguardiario
MurifoXの答えは良いですが、それは一般的な要件であることについては、私は、これはより頻繁に使用されていると思う:
class User < ActiveRecord::Base
validates :name, presence: true
end
(validates ... format: {}
がvalidates_format_of ...
と同じです)。 validates:username、format:{without:/ \ s /}は、ユーザーの空白スペースを削除します。ユーザー名に空白が含まれていることをユーザーに警告するメッセージを追加することもできます。
class User < ActiveRecord::Base
validates :username, format: { without: /\s/, message: "must contain no spaces" }
end
詳細を編集してください。コード専用と「試してください」の回答は、検索可能なコンテンツが含まれていないため、推奨されません。なぜ誰かが「これを試してみる」べき理由を説明しません。 – abarisone
あなたは、私がレール機能がある賭け、私はウェブ開発をしない空白
class User
before_validation :strip_blanks
protected
def strip_blanks
self.username = self.username.strip
end
end
- 1. 空白を確認しますか?空白ですか?
- 2. ユーザーがWikipediaのユーザーであることを確認していることを確認しますか?
- 3. Rails 3:レコードがユーザーに属していることを確認する
- 4. asp.netメンバーシップ:確認メールが空白
- 5. Railsフィールドが空ではない場合でも、空白にすることはできません。
- 6. Rails - ブール値を返すメソッド。空白になることがあります。
- 7. Railsの「空白にすることはできません」
- 8. ユーザーがユーザー名または電子メールで管理者であることを確認してください
- 9. Railsは正規表現ではないことを確認します
- 10. NSMutableDictionaryが空であることを確認しますか?
- 11. Rails 3.2でチェックボックスが有効でないことを確認しました
- 12. Rails 3 Query - IN(?)は空白にすることができます
- 13. web.configの役割を行い、ユーザー名は空白を許可しますか?
- 14. 空白が空白になっていますページ
- 15. ユーザーが空白のままにしておくと、デフォルト値
- 16. ユーザー名をjqueryで確認しました。プラグインを確認しました
- 17. ユーザー名がJoomlaサイトで動作していないことを確認してください
- 18. YouTubeのPHP API:youtubeのユーザー名が認証トークンと一致することを確認してください
- 19. Djangoがフィールドが空白かどうかを確認しますか?
- 20. Ruby on Railsのユーザー確認でパラメータが更新されない
- 21. PHP utf8_encode()は空白を改行しない空白に変換します
- 22. フィールドに入力中にユーザー名を確認しますか?
- 23. ofstreamが空であることを確認していますか?
- 24. c#+タプルのリストの空白とオーバーラップを確認する
- 25. Regexp:数字と空白を確認する
- 26. Railsで空白ページにリダイレクトされると、Rails 500エラーが発生します。
- 27. Rails 3 - reject_if procが空白のフィールドをキャッチしない
- 28. Cでイメージが空白かどうかを確認する#
- 29. ユーザー名とパスワードから空白を削除する
- 30. Skypeのユーザー名の確認
を除去するためにbefore_validationコールバックを使用することができます。私の最高の推測は 'st == st [/ \ s /]'かどうかを調べることです。文字列に空白文字が1つでもある場合はfalseになります。 – squiguy