Ruby on rails Rails/Phonelib:为什么我的电话号码验证程序失败?
我正在使用Ruby on rails Rails/Phonelib:为什么我的电话号码验证程序失败?,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我正在使用PhoneLib()验证我的电话号码 我有一个型号订阅,有一列电话号码 我正在测试这个电话号码:3052612151 我可以看出Phonelib认为它是一个有效的数字: >Phonelib.valid\u是否适用于国家/地区?“3052612151”,美国 #=>正确 然而,当我使用Phonelib的验证器时,我的记录被认为是无效的 类订阅s=Subscription.create(电话号码:'3052612151',电子邮件:'example@example.com') >美国有效
PhoneLib
()验证我的电话号码
我有一个型号订阅
,有一列电话号码
我正在测试这个电话号码:3052612151
我可以看出Phonelib认为它是一个有效的数字:
>Phonelib.valid\u是否适用于国家/地区?“3052612151”,美国
#=>正确
然而,当我使用Phonelib的验证器时,我的记录被认为是无效的
类订阅
>s=Subscription.create(电话号码:'3052612151',电子邮件:'example@example.com')
>美国有效吗?
#=>错误
>s.errors.full_消息
#=>[“电话号码无效”]
我挠头已经一个多小时了。有人能看出我做错了什么吗?为什么PosiLeb在调用S.ValuthFordStand时认为这个数字是有效的?但当用作验证器时就不需要了?我唯一能想到的是,也许你应该在初始值设定项中设置默认的国家/地区
# config/initializers/phonelib.rb
Phonelib.default_country = "US"
然后只需在您的模型中使用
验证:phone\u number,phone:true
我唯一能想到的是,也许你应该在初始值设定项中设置默认国家
# config/initializers/phonelib.rb
Phonelib.default_country = "US"
然后只需在您的模型中使用
验证:phone\u number,phone:true
尝试使用国家:[:us]
,验证器实际上执行&
操作并检查大小是否大于0,可能它需要一个数组
验证器实际上检查了4个验证,所有验证都返回相同的错误消息,这是一个非常糟糕的设计,奇怪的是:s.尝试使用
国家:[:us]
,验证器实际上执行&
操作并检查大小是否大于0,可能它需要一个数组
验证器实际上检查了4个验证,所有验证都返回相同的错误消息,这是一个非常糟糕的设计,奇怪的是:s.no。相同的结果。如果您包含国家代码(即在数字前面加上
1
或+1
)是否有效?否。相同的结果。如果包含国家代码(即在数字前面加上1
或+1
),是否有效