2016-08-01 2 views
1

Firebase & iOS를 사용 중이며 사용자가 의견을 제출하려고 할 때 유효성을 검사하려고합니다. 여기 Firebase 유효성 검사 규칙이 작동하지 않습니다.

내 규칙입니다 : 나는 ".validate" 부분을 삭제 한 경우였다 성공적으로 게시되어 있습니다 enter image description here

코멘트 :

{ 
    "rules": { 
    "comments": { 
     ".read": true, 
     ".write": "auth.uid != null", 
     "$comment_id": { 
     ".validate": "newData.isString() && newData.val().length < 100" 
     } 
    } 
    } 
} 

여기 내 데이터베이스 구조입니다. 또한 $comment_id 블록 외부에 ".validate": "newData.isString() && newData.val().length < 100"을 넣어 봤지만 여전히 실패했습니다. enter image description here

".validate" 내 작동되지 않습니다 : 내가 코멘트를 추가 할 때

에 관계없이, 나는 시뮬레이터에서이 오류가? 내가 뭘 놓치고 있니?

답변

1

데이터 경로는 /comments/$comment_id/comment입니다. 유효성 검사 규칙은 그 안에 마지막으로 comment을 제공하지 않습니다.

{ 
    "rules": { 
    "comments": { 
     ".read": true, 
     ".write": "auth.uid != null", 
     "$comment_id": { 
     "comment": { 
      ".validate": "newData.isString() && newData.val().length < 100" 
     } 
     } 
    } 
    } 
} 

이 규칙이 적용됩니다. 그러나 아무 값도 추가하지 않기 때문에 아마 comment 노드를 제거하기 위해 데이터 구조를 업데이트 할 것입니다.

관련 문제