新手问题 用户名为空的问题

jasonliu · 2014年02月14日 · 最后由 jasonliu 回复于 2014年02月18日 · 2687 次阅读

目前在维护一个应用,偶尔会出现一些用户不能登陆的情况,查看数据库的时候发现用户名为空,但是我已经利用了 rails 的验证机制,规定了用户名的长度,mysql 也设置了用户名不能为空,请问是可能是什么原因导致的?

migration: t.string :name, null: false

validation validates :name, :length => { in: 1..20 }

是包含空白字符的字符串还是什么都没有

desc users 看一下你的设置是否真的生效。

migation 生成的表结构限制的是 null,不是""和" "

一个空格在你的 validation 应该也是通过的

可能是这些原因

用户名是一个空字符串'',一个用户说他输入了特殊的字符,下次登陆的时候就登陆不上了。我想是不是因为这个特殊字符通过了 rails 的验证,但是 mysql 并不识别这个字符,所以在存储的时候存为空字符?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号