json - 在 Firebase 数据库中使用多个验证规则

标签 json database validation firebase firebase-realtime-database

我不清楚 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/

相关文章:

php - 回车在 javascript-php 上下文中的意义是什么?

c# - 使用 Entity Framework 在 WPF MVVM 中进行验证

json - Swift - 解析多个可选 Json 答案

sql-server - Entity Framework 代码优先的空间/DBGeography 属性索引

c# - 内存缓存 .Net 4.0 性能测试 : astonishing result

php - 如何解决 MySQL 中的连接数过多错误?

php - 如何用逗号添加值?

从 String 中提取 ID 的 Java regex 和/或 string magic

javascript - 由于 JavaScript 不保证对象中的属性顺序,因此 JSON.stringify() 的实际行为如何?

python - 如何使用 python 中的分页从 API 创建有效的 json 文件?