我的应用程序根据用户名是小写还是大写来验证用户名。这是我目前的验证:format: { with: /\A[a-zA-Z0-9]+\Z/ }
,但是,如果我这样做:format: { with: /\A[a-z0-9]+\z/ }
,当用户输入大写字母时,它表示即使没有使用用户名,用户名也是无效的。如何使用小写的用户名并验证它是否存在,使用户能够输入大写字母而不显示username is invalid
?
通过将:uniqueness => { case_sensitive: false }
添加到用户名验证来解决
validates :username, uniqueness: { case_sensitive: false }