有没有办法编写firebase规则来验证“newData”对象中的所有值?
在我的应用程序中,我对“newData”对象中任何键的值都非常灵活(我的键是不可预测的,用户可以设置自己的键和值)但是,我真的不在乎用户给我的价值每个键,但我想将数据长度限制为,即时,100个字符。
所以我要验证“newData”中任何键的所有值是否在firebase数据库安全规则中限制为100个字符。
我申请的当前阶段: 这是我的应用程序如何工作.. 基本上,我的应用程序有一个个人资料页用户可以在现有字段中输入值。用户还可以添加自己的自定义字段并保存。所有这些都将变成字符串。添加它并不重要他们添加了多少个自定义字段。我只需要限制字符串的长度。
如果这是做灵活类型的键值类型应用程序的不好方法,请建议我其他方法。
这是用户newData: { 名称:“abc”, 年龄:“30”, xxx:“yyy” } xxx可以是任何内容(xxx是可选的,用户可以创建其他客户字段,例如aaa,bbb或ccc。)
以下是JSON安全性:
{
"rules": {
".read": false,
".write": false,
"user": {
"$uid": {
".read": true,
".write": "auth.uid === $uid"
}
}
感谢。
答案 0 :(得分:1)
使用通配符来验证Frank van Puffelen所述的具有未知密钥的所有数据
" $ unknownKey":{" .validate":" $ unknownKey.length< 100}
{
"rules": {
".read": false,
".write": false,
"user": {
"$uid": {
".read": true,
".write": "auth.uid === $uid",
"$unknownKey": { ".validate": "$unknownKey.length < 100"}
}
}
}