gpt4 book ai didi

validation - 如何使用 Firebase 规则验证该值是一个整数

转载 作者:行者123 更新时间:2023-12-04 02:21:48 24 4
gpt4 key购买 nike

我试图确保 firebase 中对象的某些字段是整数而不是小数。有一个方法 isNumber() 但它返回 true 值是整数还是小数。

我试图用正则表达式检查一个值,但由于某种原因,它只能对引号内的值(即字符串)正常工作。

这是我的规则的样子:

"$item_id":{
"created":{
".validate":"newData.val().matches(/^[0-9]+$/)"
}
}

因此,当我放置一个带有字符串值的对象时, {"created":"123456789"} 验证工作正常。但是当我放置一个带有数值的对象时, {"created":123456789} 验证失败。

有没有办法做到这一点?

最佳答案

您不能使用正则表达式来验证数字,因为正则表达式匹配字符串中的模式。

你也不能真正验证某个东西是一个整数,因为 JavaScript 没有单独的整数与浮点类型。它们都只是浮点数。

您可以验证的是某个东西是一个整数。我能想到的最简单的方法是:

".validate":"newData.isNumber() && newData.val() % 1 === 0.0" 

这接受 11.0 ,但会拒绝 1.1 .

关于validation - 如何使用 Firebase 规则验证该值是一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44572284/

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