firebase 规则验证 newData 中的所有值(未知密钥验证)
firebase rule validate all value in the newData (unknown key validation)
有没有办法编写 firebase 规则来验证 "newData" 对象中的所有值?
在我的应用程序中,"newData" 对象中任何键的值都非常灵活(我的键是不可预测的,用户可以设置自己的键和值)但是,我真的不在乎什么值用户在每个键上都给我,但我想立即将数据长度限制为 100 个字符。
所以我想验证 "newData" 中任何键中的所有值是否在 firebase 数据库安全规则中被限制为 100 个字符。
我申请的当前阶段:
这是我的应用程序的工作方式..
基本上,我的应用程序有一个个人资料页面。用户可以在我现有的字段中输入值。用户还可以添加自己的自定义字段并保存。所有这些都将变成字符串。添加他们添加了多少自定义字段并不重要。我只需要限制字符串的长度。
如果这种灵活的键值类型应用程序的方法不好,请建议我采用其他方法。
这是用户新数据:
{
姓名:"abc",
年龄:“30”,
xxx:"yyy"
}
xxx 可以是任何东西(xxx 是可选的,用户可以创建其他客户字段,例如 aaa、bbb 或 ccc。)
这里是 JSON 安全:
{
"rules": {
".read": false,
".write": false,
"user": {
"$uid": {
".read": true,
".write": "auth.uid === $uid"
}
}
谢谢。
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"}
}
}
}
有没有办法编写 firebase 规则来验证 "newData" 对象中的所有值?
在我的应用程序中,"newData" 对象中任何键的值都非常灵活(我的键是不可预测的,用户可以设置自己的键和值)但是,我真的不在乎什么值用户在每个键上都给我,但我想立即将数据长度限制为 100 个字符。
所以我想验证 "newData" 中任何键中的所有值是否在 firebase 数据库安全规则中被限制为 100 个字符。
我申请的当前阶段: 这是我的应用程序的工作方式.. 基本上,我的应用程序有一个个人资料页面。用户可以在我现有的字段中输入值。用户还可以添加自己的自定义字段并保存。所有这些都将变成字符串。添加他们添加了多少自定义字段并不重要。我只需要限制字符串的长度。
如果这种灵活的键值类型应用程序的方法不好,请建议我采用其他方法。
这是用户新数据: { 姓名:"abc", 年龄:“30”, xxx:"yyy" } xxx 可以是任何东西(xxx 是可选的,用户可以创建其他客户字段,例如 aaa、bbb 或 ccc。)
这里是 JSON 安全:
{
"rules": {
".read": false,
".write": false,
"user": {
"$uid": {
".read": true,
".write": "auth.uid === $uid"
}
}
谢谢。
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"}
}
}
}