IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

Rails バリデーションの uniqueness: { case_sensitive : false } を使ってみる

Rails ガイド

f:id:matt-note:20181113145422p:plain

 

使ってみる

uniqueness: { case_sensitive: false } を使うと、大文字・小文字を区別しないことになる。

f:id:matt-note:20181113145705p:plain

 

ここでは、以下のように、ユーザー名が「aaaa」のユーザーが存在しているとする。

f:id:matt-note:20181113145957p:plain

新しく「AAAA」ユーザーを作成してみる。エラーとなった。「aaaa」「AAAA」も同じユーザー名として扱うことになるので、「AAAA」のユーザー名はすでに存在するとしてエラーになる。

f:id:matt-note:20181113150120p:plain

 

次に、uniqueness: { case_sensitive: false } を削除して、「AAAA」ユーザーを追加してみる。

f:id:matt-note:20181113150516p:plain

 ↓

大文字・小文字を区別するので、「aaaa」と「AAAA」は、別のユーザー名として扱うことになる。そのため、「aaaa」が存在していても「AAAA」を登録することができる。

f:id:matt-note:20181113150728p:plain

 

まとめ

uniqueness: { case_sensitive: false } を使うと、「aaaa」と「AAAA」を同じ名前として扱う。「aaaa」が存在している場合、「AAAA」を登録することはできない。