我正在用 React 和 Firebase 做一个简单的图书管理器应用程序。用户可以输入图书的作者、标题和评级,我正在尝试验证输入。
数据结构如下:
"books" : {
"-LSon2JjuqUWb6tXV-EA" : {
"author" : "Stephen King",
"rating" : "5",
"title" : "\"Misery\""
},
"-LSp33lP1b5W2XOXyEmI" : {
"author" : "Stephen King",
"rating" : "10",
"title" : "\"Cujo\""
}
}
Firebase 在调用 push 方法时以编程方式生成每个密钥。现在,我想验证用户的输入,但关键似乎引发了问题。我应该如何在陈述中提及它?或者我的规则不起作用的原因可能完全不同?如果我省略生成的键并直接在“书籍”对象中引用作者/标题/评级,我可以添加不符合我所说的条件的数据。
{
"rules": {
".read": "true",
".write": "true",
"books" : {
"???" : {
"author" : {
".validate" : "newData.isString() && newData.val() > 0"
},
"title" : {
".validate" : "newData.isString() && newData.val() > 0"
},
"rating" : {
".validate" : "newData.isNumber()"
}
}
}
}
}
我将不胜感激任何提示。