मैं यह सत्यापित करना चाहता हूं कि उपयोगकर्ता नाम के मेरे उपयोगकर्ता के लिए कोई सफेद/रिक्त स्थान नहीं है। क्या सत्यापन में कोई अंतर्निहित है जो यह करता है? या ऐसा करने का सबसे अच्छा तरीका क्या है। ऐसा लगता है कि यह एक बहुत ही आम आवश्यकता होगी।रेल उपयोगकर्ता नाम में कोई सफेद स्थान मान्य नहीं
उत्तर
मैं 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
मेरा मानना है कि आप एक कस्टम सत्यापनकर्ता बनाना पड़ेगा:
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 ...
के समान है) अपने उपयोगकर्ता मॉडल में सत्यापन जोड़ें। मान्य करता है: उपयोगकर्ता नाम, प्रारूप: {बिना:/\ 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. MongoDB: स्थान :: पहलू :: _ S_create_c_locale नाम मान्य नहीं
- 2. CGContextShowTextAtPoint और सफेद स्थान
- 3. नियमित अभिव्यक्ति: सफेद स्थान
- 4. dplyr: चयन स्तंभ सफेद स्थान
- 5. पट्टी सफेद रिक्त स्थान
- 6. एक्सएमएल/एचटीएमएल टैग के अंदर सफेद स्थान
- 7. प्रोफ़ाइल का नाम मान्य नहीं है
- 8. तालिका में सफेद स्थान को हटाकर
- 9. सी # - फसल पारदर्शी/सफेद स्थान
- 10. घातक: कोई मान्य वस्तु का नाम: 'गुरु'
- 11. कोई प्रकार नाम स्थान 'एसटीडी' में 'परमाणु' नाम
- 12. मान्य निर्देशिका नाम
- 13. रुपयेपेक रेल - नाम मान्य होना चाहिए - कुछ स्पष्टीकरण
- 14. चार सरणी में सफेद रिक्त स्थान डालें
- 15. जेएसएफ सफेद रिक्त स्थान ट्रिमिंग
- 16. सफेद स्थान छोड़ें और सी
- 17. एक्सकोड 4.5 - पिछला सफेद स्थान
- 18. जावास्क्रिप्ट - सफेद स्थान जोड़ने स्ट्रिंग
- 19. कॉलम का नाम मान्य नहीं है। [नोड नाम (यदि कोई है) = t0, कॉलम नाम = संस्करण]
- 20. उपयोगकर्ता इनपुट मान्य?
- 21. रैक नाम स्थान में प्रवेश रेल पर्यावरण config
- 22. वेब सेवा विधि नाम मान्य नहीं है
- 23. कोई नाम नहीं लगाव
- 24. WPF: नाम नाम स्थान में मौजूद नहीं है
- 25. प्रकार या नाम स्थान का नाम 'विंडोज' नाम स्थान में मौजूद नहीं है 'सिस्टम'
- 26. रेल 4 और डिवाइसेज - उपयोगकर्ता का नाम डेटाबेस में जोड़ा नहीं जाता है जब नया उपयोगकर्ता
- 27. रेल 4 + डेविस 3.0.0 उपयोगकर्ता नाम
- 28. jQuery मान्य - उपयोगकर्ता को
- 29. त्रुटि RZ3007: लक्ष्यित टैग नाम शून्य या सफेद स्थान नहीं हो सकता
- 30. उपयोगकर्ता नाम
before_validation कॉलबैक का उपयोग कर सकते मुझे यकीन है एक रेल समारोह वहाँ है, लेकिन मैं वेब विकास नहीं करते हैं। मेरा सबसे अच्छा अनुमान सिर्फ यह जांच रहा है कि 'st == st [/ \ s /]'। यदि स्ट्रिंग में एक सफेद अंतरिक्ष चरित्र भी है तो यह गलत होगा। – squiguy