如何在 firebase 中创建必填字段验证

how to create required fields validation in firebase

我的必填字段验证规则似乎在仪表板规则模拟器中有效,但当我真正尝试时,我的权限被拒绝了。我设置正确了吗? (.msg 为消息正文)

{
    "rules": {
      "messages":{
        ".read": "auth.uid !== null",
        ".write": "auth.uid !== null",
        ".validate": "newData.child('msg').exists()",
        "uid": {
          ".validate": "auth.uid === newData.val()"
        }
      }
    }
}

我也有选择地在 .validate

中尝试过这种语法
".validate": "newData.hasChildren(['msg','uid','uname'])"

这也会为我抛出权限被拒绝的错误。

这是 ios 代码

   func sendMessage(text: String!) {
        // *** STEP 3: ADD A MESSAGE TO FIREBASE
        messagesRef.childByAutoId().setValue([
            "msg":text,
            "uname":self.senderDisplayName,
            "uid":self.senderId
            ])
    }

我只需要将动态消息 ID 添加到 json

{
    "rules": {
      "messages":{
        ".read": "auth.uid !== null",
        ".write": "auth.uid !== null",
       "$message_id":{
           ".validate": "newData.child('msg').exists()",
           "uid": {
             ".validate": "auth.uid === newData.val()"
           }
        }
      }
    }
}