这是我在firebase中的数据结构,我在Projects
标记下有多个项目,每个项目包含staff
个键,包含多个人员,每个人员都包含attendance
个键,其中包含多个属性OT1
,OT2
等现在我希望OT1
只能保留数值。
我尝试过这条规则
{
"rules": {
".read": true,
".write": true,
"Projects": {
"$pid":{
"staff":{
"$sid":{
"attendance":{
"OT1":{".validate": "newData.isNumber()"}
}
}
}
}
},
"Empoyees": {
"$staffid": {
".indexOn": "Type",
"project": {
".indexOn": [
"project2",
"project1"
]
}
}
}
}
}
但它仍然允许我保存文本数据 它不限制我这个陈述
attendanceRef.child("OT1").setValue("ABCDEFGH");
我应该在规则中做些什么。
答案 0 :(得分:0)
哦,终于搞错了。
规则应该是:
{
"rules": {
".read": true,
".write": true,
"Projects": {
"$pid":{
"staff":{
"$sid":{
"attendance":{
"$aid":{ // **this was the missing in my question**
"OT1":{".validate": "newData.isNumber()"},
"OT1_B":{".validate": "newData.isNumber()"},
"OT2":{".validate": "newData.isNumber()"},
"Total Mins":{".validate": "newData.isNumber()"}
}
}
}
}
}
},