gpt4 book ai didi

javascript - Firebase 验证规则正则表达式不起作用

转载 作者:行者123 更新时间:2023-12-02 13:44:32 25 4
gpt4 key购买 nike

我无法让它在 Firebase 模拟器中运行,我不明白为什么。我正在我的页面上制作一个“收藏夹”按钮,并带有一个计数器,可以跟踪它被收藏的次数。我想将金额存储在 firebase 数据库中。所以这是我的规则:

{
"rules": {
"favorited": {
".validate": "newData.isNumber() && newData.val().matches(/[0-9]/) && newData.val().length < 10",
".read": true,
".write": true
}
}
}

Writes 应该是一个整数,只能包含 0 到 9,且少于 10 个字符。

我已经使用以下路径上的以下 JSON 数据对其进行了测试:

/favorited/

--

{
"foo": 123
}

这会导致验证时出现写入错误。我做错了什么?

最佳答案

问题是您在数字上使用正则表达式,而不是字符串。而且数字也没有 length 属性。

来自documentation :

Regular expression literals can be used to validate client supplied strings. Use string.matches(/pattern/) to test if a string adheres to a regular expression pattern.

您可以使用:

newData.isNumber() && newData.val() < 1000000000

因为1000000000是10位数字中最小的数字。

关于javascript - Firebase 验证规则正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41516024/

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