Проверка в правилах Firebase - PullRequest
1 голос
/ 05 марта 2019

Я получил структуру данных JSON, подобную этой:

recipes
   LZogi4JdMk_V5vLK_aA
       title: 'firste recipe'
   LZoh4QphqHknuvda0-f
       title 'secound recipe'

Я хочу создать правило (проверку) для заголовка в каждом рецепте.Я попытался сделать это:

"rules": {
  "recipes": {
    ".write": "auth != null",
    ".read": "auth != null", 
   "$title": {
        ".validate": "newData.isString() 
             && newData.val().length > 0
             && newData.val().length <= 20"
  }
}

Я думаю, что я должен войти в каждый объект в рецепте массива, но я не уверен.Кто-нибудь может помочь?

1 Ответ

1 голос
/ 05 марта 2019

В соответствии с документацией и примерами Firebase $ используется для представления идентификаторов и динамических дочерних ключей, в настоящее время вы обрабатываете $title, как если бы это был идентификатор каждого рецепта, поэтому ваши правила должны выглядеть примерно так:

"rules": {
  "recipes": {
    ".write": "auth != null",
    ".read": "auth != null",
    "$recipeId": {    //example: LZogi4JdMk_V5vLK_aA
      "title": {
        ".validate": "newData.isString() 
             && newData.val().length > 0
             && newData.val().length <= 20"
      }
    }
  }

Вот ссылка на документацию Firebase: https://firebase.google.com/docs/database/security/securing-data#structuring_your_rules

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...