Validação de regras do Firebase e validação de captura falham no aplicativo Android
desenhar
Um usuário que pode fazer login no aplicativoO usuário conectado pode criar clientes que serão armazenados emnode
cujo valor será o ID do usuário conectado atualValores atuais do banco de dados
{
"customers" : {
"UserId1" : {
"custId1" : {
"customerCode" : "thk",
"customerLimit" : "58866",
"customerName" : "Test New "
},
"custId2" : {
"customerCode" : "thh",
"customerLimit" : "5698",
"customerName" : "Yeth"
}
},
"UserId2" : {
"custId3" : {
"customerCode" : "thh",
"customerLimit" : "5886",
"customerName" : "Test "
},
"custId4" : {
"customerCode" : "tbh",
"customerLimit" : "58669",
"customerName" : "New Test"
}
}
}
}
Abaixo está a regra atualmente definida paracustomers
mesa emfirebase
.
{
"rules": {
"customers":{
".read": "auth != null",
".write": "auth != null",
"$CID":{
"customerName":{
".validate": "newData.isString() && newData.val().length < 100"
},
"customerCode":{
".validate": "newData.isString() && newData.val().length<4 && !newData.exists()"
},
"customerLimit":{}
}
}
}
}
Mesmo que eu tenha definido que uma regra paracustomerCode
ou seja, ele deve ter um valor menor que 4 caracteres, permitindo inserir 5 caracteres. Além disso, como posso adicionar uma validação que valida a exclusividade decustomerCode
para cadauserId
? a partir de agora tem!newData.exists()
mas não está funcionando também.
Alguém poderia me guiar na direção certa?