或者只用 validates_with,还有更好的方法没?
正则的话 /\A[\p{Han}\p{Alnum}\-_]{4,24}\z/ 就行了,但是渣浪验证的长度是转码成 gb18030 后的字节数而不是字符数...
/\A[\p{Han}\p{Alnum}\-_]{4,24}\z/
validates :weibo_nick, length: { maximum: 24, tokenizer: lambda{|s| s.encode('gb18030').bytes } }
#1 楼 @luikore 非常感谢 ~~~~