gpt4 book ai didi

ruby-on-rails - 数值验证不接受 0 作为数字

转载 作者:数据小太阳 更新时间:2023-10-29 08:29:54 25 4
gpt4 key购买 nike

我有一个联系电话,想验证它是否为 11 位数字。我希望它接受 01234567891

我正在使用验证:

validates :contactNo,
:length => {
:is => 11,
:format => { with: /[0-9]+/ },
:greater_than_or_equal_to => 0,
:message => "Contact number is not valid"
}

它不接受 0 作为数字。

我该如何解决这个问题?

最佳答案

保存为整数将导致 ActiveRecord 对其进行类型转换,这将删除前导 0,这将使实际长度为 10 而不是 11。如果您想要前导 0,则需要保存它作为一个字符串,这样 ActiveRecord 就不会对其进行类型转换。

此外,您似乎以不正确的方式混合了单独的验证。

可能你想要这个:

validates :contactNo,
:length => {
:is => 11,
:message => "Contact number must be exactly 11 digits"
},
:format => {
:with => /[0-9]+/,
:message => "Contact number can only contain the digits 0-9"
}

关于ruby-on-rails - 数值验证不接受 0 作为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49546255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com