読者です 読者をやめる 読者になる 読者になる

マルチバイト文字列の長さを制限するvalidate

Ruby Rails

1文字以上、10文字以内という指定をしたい場合は

validates_format_of :body, :with=>/\A.{1,10}\Z/m

こう書くといいみたい。
もちろん$KCODEとかは書かなきゃだめよ。

追記

validates_length_of :body, :with=>1..10

だけでいいみたい。split(//).sizeで判断していました。
DHHすげー

さらに追記

moroさんによると、バイナリをこれで判断すると、かなりハマるらしい。
そのなかの適当な文字列の長さで判断してしまうらしい。