我不清楚 Firebase 数据库验证规则的几个方面,并且已经 read the documentation a couple of times我的具体案例/问题如下:
我的数据方案是这样的:
{
"aNumber" : 0.794180524700695,
"clicks" : 11
}
我目前的验证规则是这样的:
{
"rules": {
".validate": "newData.child('aNumber').isNumber()",
".read": true,
".write": true
}
}
如果“aNumber”是数字,此规则目前允许写入,但我还想验证字段“clicks”是否为数字。
我尝试使用和运算符 (&&):
{
"rules": {
".validate": "newData.child('aNumber').isNumber() &&
newData.child('clicks').isNumber()",
".read": true,
".write": true
}
}
但是当我只更新一个字段时它失败了:
{
"aNumber": 2
}
我将如何对此进行验证? , 通常验证多个独立字段的好方法是什么?
谢谢
最佳答案
经过一些试验,我找到了我自己问题的答案:
我的新规则是这样的:
{
"rules": {
".read": true,
".write": true,
"aNumber": {
".validate": "newData.isNumber()"
},
"clicks": {
".validate": "newData.isNumber()"
}
}
}
因此,验证不是在全局范围内针对特定的子节点进行验证,而是在规则中的特定节点级别进行,这对某些人来说可能是显而易见的,但我花了一些时间才意识到。
关于json - 在 Firebase 数据库中使用多个验证规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40951705/