方法
class Anime < ApplicationRecord
# 正規表現で空文字あるいは空白文字だけで構成された文字列を許可しないようにする。
# 加えて allow_nil オプションを有効にして NULL は許可する。
validates :title, format: { without: /\A[[:space:]]*\z/, allow_nil: true }
end
Anime.new(title: nil).valid? #=> true
Anime.new(title: 'Fate/stay night').valid? #=> true
Anime.new(title: '').valid? #=> false
Anime.new(title: ' ').valid? #=> false
Anime.new(title: ' ').valid? #=> false
Anime.new(title: "\r\n").valid? #=> false
Anime.new(title: "\t").valid? #=> false
正規表現中の [[:space:]]
は POSIX 文字クラスと呼ばれる表記で空白文字を表します。