Chcę potwierdzić, że nazwa użytkownika nie ma biały/spacje dla moich użytkowników. Czy istnieje wbudowane sprawdzanie poprawności, które to robi? Lub jaki jest najlepszy sposób na zrobienie tego. Wydaje się, że byłoby to dość powszechne wymaganie.Szyny Weryfikacja żadnej białej przestrzeni w polu Nazwa użytkownika
Odpowiedz
chciałbym spróbować format validator:
validates :username, format: { with: /\A[a-zA-Z0-9]+\Z/ }
jak większość czasu, gdy nie chcesz spacje w nazwie użytkownika również nie chcą inne znaki.
Albo kiedy naprawdę tylko trzeba sprawdzić spacji, zamiast używać without
:
validates :username, format: { without: /\s/ }
Pełna dokumentacja: http://api.rubyonrails.org/classes/ActiveModel/Validations/HelperMethods.html#method-i-validates_format_of (validates ... format: {}
jest taka sama jak validates_format_of ...
)
wierzę, trzeba będzie utworzyć własny walidator:
validate :check_empty_space
def check_empty_space
if self.attribute.match(/\s+/)
errors.add(:attribute, "No empty spaces please :(")
end
end
Po prostu '\ s',' + 'jest niepotrzebne. – pguardiario
MurifoX „s odpowiedź jest lepsza, ale traktując ją jako wspólny wymóg, myślę, że to jest coraz częściej stosowany:
class User < ActiveRecord::Base
validates :name, presence: true
end
w modelu użytkownika dodać walidację. validates: nazwa użytkownika, format: {bez:/\ s /} usunie białe/puste spacje dla Twoich użytkowników. Możesz nawet dodać komunikat ostrzegający użytkownika, że jego nazwa użytkownika zawiera białe spacje.
class User < ActiveRecord::Base
validates :username, format: { without: /\s/, message: "must contain no spaces" }
end
Edytuj i uzyskaj więcej informacji. Tylko kod i odpowiedź "spróbuj tego" są odradzane, ponieważ nie zawierają treści do wyszukiwania i nie wyjaśniają, dlaczego ktoś powinien "spróbować tego". – abarisone
Można użyć before_validation zwrotnego rozebrać białymi
class User
before_validation :strip_blanks
protected
def strip_blanks
self.username = self.username.strip
end
end
- 1. Zmienna dzielona na białej przestrzeni
- 2. Funkcja RegularExpressionValidator nie wyzwala wpisu w przestrzeni białej
- 3. Przycinanie wiodącej białej przestrzeni za pomocą PHP?
- 4. Szyny Gem zdezynfekować - Jak do białej i
- 5. wskazuje automatyczne łamanie wiersza w białej przestrzeni: element pre-wrap
- 6. Oczekiwane zachowanie z białej przestrzeni w linii poleceń
- 7. Szyny select_date nazwa postaci
- 8. szyny przestrzeni nazw niezainicjowany stała
- 9. Authlogic email jako nazwa użytkownika
- 10. Przeniesienie kodu przestrzeni użytkownika do przestrzeni jądra
- 11. Autonomiczne szyny użytkownika Obiekt użytkownika
- 12. Kwalifikowana nazwa w deklaracji przestrzeni nazw
- 13. Szyny trasa przestrzeni nazw w omniauth
- 14. Po wątku HTML - RMarkdown z blokiem białej przestrzeni
- 15. Szyny 4 - nazwa bieżącego układu?
- 16. Jak zmienić zachowanie NumberFormatter :: parseCurrency() dotyczące akceptowania białej przestrzeni i braku łamania przestrzeni?
- 17. Nazwa użytkownika dla HackageDB?
- 18. UPN - główna nazwa użytkownika
- 19. Jak rozwiązać kolizję przestrzeni nazw modelu szyny
- 20. htaccess - użycie hasła LUB białej listy jako białej listy
- 21. Jaki jest symbol białej spacji w C?
- 22. Nazwa użytkownika ASP.NET zmienia się
- 23. Szyny Aktywne wyszukiwanie rekordów - Nazwa zawiera słowo
- 24. Szyny - nazwa modelu kończy się S
- 25. Nazwa użytkownika jako znak wodny
- 26. Nazwa kolumny listy widoków użytkownika w oracle
- 27. System.Uri nie można analizować przy polu hasło lub nazwa użytkownika zawiera znak specjalny
- 28. Wybierz z tabeli, nazwa jest przechowywana w polu
- 29. Szyny 4: Zapisz wyniki w polu wyboru na szeregową tablicę
- 30. Nazwa przestrzeni nazw infrastruktura nie istnieje w system.data.entity namespace
Założę się, że jest to funkcja szyny, ale nie robię tworzenie stron internetowych. Domyślam się tylko, czy 'st == st [/ \ s /]'. Jeśli ciąg ma nawet jeden znak spacji, będzie to fałsz. – squiguy