2016-06-05 7 views

답변

0

이 문자는 데이터베이스에는 사용할 수 없지만 데이터베이스 값에 사용할 수 있습니다.

자동으로 같은 문자가 키에 표시 쓰기 작업을 거부 할 중포 기지 데이터베이스, 당신은 그것에 대해 어떤 규칙을 작성할 필요가 없습니다.

1

matches()과 함께 사용 .validate. matches()는 정규 표현식을 받아들입니다. contains() 점검 문자열이 지정된 값을 포함하는 경우.

이 같은 객체 작성 된 경우는 다음과 같습니다 {"post": "he.lo"}

".validate": "!(newData.child('post').val().matches(/[.$\/#]/) || newData.child('post').val().contains(']') || newData.child('post').val().contains('['))" 

을 그리고 당신은 단지 문자열을 작성한다면 "he.lo을"

".validate": "!(newData.val().matches(/[.$\/#]/) || newData.val().contains(']') || newData.val().contains('['))" 

내가 아주 일부 시도 시간 "["와 "]"을 포함 할 수 있지만, 중포 기지 내가 contains() 방법을 추가 한 이유입니다 그들처럼하지 않았다.

이 규칙

는 @Frank 말처럼 키가 아닌 값에 대해 확인하고 사용할 수있다.

참조 : Firebase 3.0 Security Rules