新手问题 model 属性验证问题

easonlovewan · June 24, 2015 · Last by easonlovewan replied at June 24, 2015 · 1394 hits

想知道 rails 的 validates 方法能不能实现只能输入 0 和 1 的功能呢?求大神解答

#1 楼 @nightire 。。。。。。。。我该怎样写呢?求解!!!

可以用正则的啊

#3 楼 @aidewoode 0.[0-9]*[1-9]$ 试过了,好像有问题,求解!!!

@easonlovewan 你的要求是不是只能 输入 0 和 1,是混输,还是只能是单独的 0 或者是 1,是否没有长度的限制?

#5 楼 @aidewoode 这个有长度限制的,就是只能输入 0 和 1 长度的话应该是 1

@easonlovewan 试试这个 \A[01]{1}\z

#7 楼 @aidewoode 好像不太对啊。。。错误提示如下 SyntaxError: /Users/yuanjianhe/Project/school/app/models/student.rb:5: syntax error, unexpected $undefined validates_format_of :sex, :with => \A[01]{1}\z

输入性别直接用 enum, 不用费事 0 和 1 http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html

@easonlovewan ruby 的正则是以/ 开头和结尾的,所以完整的正则是这么写的 /\A[01]{1}\z/

嗯嗯,这个我也考虑到了,也报来同样的错误,不是那的问题

@easonlovewan 没想到 lz 的想实现的是性别区分啊,确实用正则有点大题小作了,用 @billy 的方法吧,更加直观。

You need to Sign in before reply, if you don't have an account, please Sign up first.