首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以为所有数据字段提供相同的规则?

问是否可以为所有数据字段提供相同的规则?
EN

Stack Overflow用户
提问于 2021-03-26 21:45:41
回答 1查看 18关注 0票数 0

您是否必须逐个对所有数据字段执行.validate操作,或者是否可以使规则在某些字段上级联而不在其他字段上级联?

因为目前,只有1个字段可以在我的规则中执行我想要的操作,而另一个字段将忽略验证。

示例:

代码语言:javascript
复制
    {
      "rules": {
        "users": {
          ".read": "auth != null",
           "$uid": {
            ".write": "$uid === auth.uid",
    
            "kills": {
                                     //THIS ONE GETS IGNORED
              ".validate": "newData.isNumber() && newData.val() == data.val() +1",
            },
              
            "deaths": {
                                     //THIS ONE WORKS.
              ".validate": "newData.isNumber() && newData.val() == data.val() +1",

            "score": {
              ".validate": "newData.isNumber() && newData.val() == data.val() +100",
             }
            }
          }
        }
      }
    }
EN

回答 1

Stack Overflow用户

发布于 2021-03-26 21:54:07

您可以使用wildcard cpture variable创建适用于所有子项的规则,但具有命名规则的子项除外。

如果您的现有规则对kills和deaths具有相同的验证,则可以将它们缩短为以下内容并获得相同的结果:

代码语言:javascript
复制
{
    "rules": {
        "users": {
            ".read": "auth != null",
            "$uid": {
                ".write": "$uid === auth.uid",

                "$other": {
                    ".validate": "newData.isNumber() && newData.val() == data.val() +1",
                }
            }
        }
    }
}

但这意味着您将失去deaths/score的专用验证,因为您不能覆盖通配符的单个命名子项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66818139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档