Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails/Phonelib:为什么我的电话号码验证程序失败?_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

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
),是否有效