数据验证

Firebase 实时数据库是无模式的。这样可以在开发过程中轻松更改内容,但是一旦你的应用程序准备好分发,数据保持一致就很重要。规则语言包含 .validate 规则,允许你使用与 .read.write 规则相同的表达式来应用验证逻辑。唯一的区别是所有相关的验证规则必须评估为 true 才能允许写入(换句话说,所有适用的 .validate 规则都是 AND,以允许数据库写入)。

这些规则强制写入/foo/的数据必须是小于 100 个字符的字符串:

{
  "rules": {
    "foo": {
      ".validate": "newData.isString() && newData.val().length < 100"
    }
  }
}

验证规则可以访问与 .read.write 规则相同的所有内置函数和变量。你可以使用这些来创建验证规则,这些规则可以识别数据库中其他位置的数据,用户身份,服务器时间等等。