在我的referencing the
节点下,我尝试仅允许新数据条目具有以下结构:
property of the current
除了$(function() {
function fileread(file, id) {
var reader = new FileReader();
reader.onload = function() {
localStorage.setItem("lostimage" + id, reader.result);
}
reader.readAsDataURL(file);
}
$("input[type=submit]").on("click", function(e) {
e.preventDefault();
$(":file[id^=img]").each(function() {
if (this.files.length) fileread(this.files[0], this.id.replace(/\D/g, ""))
})
});
});
和"allUsers"
之外,我不想要任何其他值。我在每个"allUsers" {
"$user1: {
"name": "user1Name"
"uid": "12345"
}
}
下添加了"name"
规则,但由于某种原因,以下写入被拒绝:
任何人都可以帮助我理解为什么写入失败,即使我在数据中只有一个名字和uid?
答案 0 :(得分:0)
屏幕快照中的第15行通过了。它检查newData.child($user)
下的$user
。因此,看起来写的是:/allUsers/meow/meow/
(注意用户名的重复),这可能是问题的根源。
这也许可以解释为什么name
和uid
的第18和19行既没有通过也不失败,以及为什么第20行失败了,因为"meow"
在{ {1}},即使它是有效的用户名。
答案 1 :(得分:0)
您需要通过所有路径和子路径的验证。变量 $other
捕获所有内容,包括您打算允许的路径。而是将您的规则写成这样。
"$path": {
".validate": "$path == 'name' || $path == 'uid'"
},