ユーザー名にユーザーの空白スペースがないことを検証したいと考えています。これを行う検証が組み込まれていますか?またはこれを行うための最良の方法は何ですか?かなり一般的な要件であるように思えます。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. リクエストが空でないことを確認するには
- 3. Rails 3:レコードがユーザーに属していることを確認する
- 4. ユーザーがWikipediaのユーザーであることを確認していることを確認しますか?
- 5. ユーザー名がデータベースに存在することを確認firebottomfire2
- 6. ユーザー名がAngular2&Sailsに存在することを確認
- 7. ユーザーがfirebaseで確認されていることを確認します。android
- 8. Railsフィールドが空ではない場合でも、空白にすることはできません。
- 9. ユーザー名がAngular4&GOにあることを確認してください
- 10. asp.netメンバーシップ:確認メールが空白
- 11. Rails - ブール値を返すメソッド。空白になることがあります。
- 12. Railsの「空白にすることはできません」
- 13. ループがVBAでセルが空でないことを確認するまでは?
- 14. 私はCROSに空白の名前で監視対象ユーザーを作成することができるはずとクラッシュが空白の監視対象ユーザー
- 15. すべてのgzファイルが空でないことを確認
- 16. Railsは正規表現ではないことを確認します
- 17. 確認の前に空白があります
- 18. ロンボクのビルダーがヌルで、空でないことを確認します。
- 19. ユーザー名がデータベースにないかどうかを確認しますか?
- 20. Rails 3.2でチェックボックスが有効でないことを確認しました
- 21. ユーザーがユーザー名または電子メールで管理者であることを確認してください
- 22. NSMutableDictionaryが空であることを確認しますか?
- 23. ionic2でストレージが空であることを確認します。
- 24. EditTextが空であることを確認します。android
- 25. Rails 3 Query - IN(?)は空白にすることができます
- 26. ユーザーが角2で下にスクロールしていることを確認します
- 27. ユーザーがアシストしていることを確認する方法
- 28. ユーザーがアクティブになっていることを確認してください
- 29. Jqueryで入力中の空白文字を確認します
- 30. Android MarshmallowとAbove Device - ユーザーが「再確認しない」を確認する方法
を除去するためにbefore_validationコールバックを使用することができます。私の最高の推測は 'st == st [/ \ s /]'かどうかを調べることです。文字列に空白文字が1つでもある場合はfalseになります。 – squiguy