2013-04-27 70 views
0

如何執行一個reguler表達式來驗證用戶名中的 - 或_。我不想接受任何其他字符,例如。@()$ etc只是 - 或_,所以人可以有一個名稱,如邁克,mikel_mark或麥克馬克。很簡單。謝謝如何在rails中做簡單的正則表達式驗證

例如:

validate_format_of :username, with: "...." 
+0

請參見[?Rails的基於正則表達式的自定義驗證(http://stackoverflow.com/questions/7680771/rails-custom-validation-based-on-a -regex) – 2013-04-27 09:51:20

+0

不錯。我討厭正則表達式。我希望這能幫助我學習更多 – Uchenna 2013-04-27 11:46:25

回答

1

Rails的3方式做驗證如下:

validates :username, :format => {:with => /\A[0-9a-z_]+\Z/i} 

validate_format_of的形式更Rails的< 3等,並遵循「類型的驗證「概念,而validates表單是基於屬性的(您可以在一個語句中編寫適用於該屬性的所有驗證)。

退房這裏的文檔:http://apidock.com/rails/v3.2.13/ActiveModel/Validations/ClassMethods/validates