数据验证
Firebase 实时数据库是无模式的。这样可以在开发过程中轻松更改内容,但是一旦你的应用程序准备好分发,数据保持一致就很重要。规则语言包含 .validate
规则,允许你使用与 .read
和 .write
规则相同的表达式来应用验证逻辑。唯一的区别是所有相关的验证规则必须评估为 true 才能允许写入(换句话说,所有适用的 .validate
规则都是 AND,以允许数据库写入)。
这些规则强制写入/foo/
的数据必须是小于 100 个字符的字符串:
{
"rules": {
"foo": {
".validate": "newData.isString() && newData.val().length < 100"
}
}
}
验证规则可以访问与 .read
和 .write
规则相同的所有内置函数和变量。你可以使用这些来创建验证规则,这些规则可以识别数据库中其他位置的数据,用户身份,服务器时间等等。