我在Corona中使用以下代码将表格发布到parse.com(示例数据)。
message1["x1"] = 1
message1["x2"] = 2
message1["y1"] = 3
message1["y2"] = 4
message1["v"] = 5
params.body = json.encode ( message1 )
network.request( baseUrl .. objectClass, "POST", sendresponse, params)
以下是我的beforeSave函数,以防止它被保存为x1 = 1。
Parse.Cloud.beforeSave(Parse.User, function(request, response) {
if object.equalTo("1", request.params.x1) {
response.error("x value not valid");
} else {
response.success();
}
});
这是编写此代码的正确方法吗?还是在每个对象帖子上运行beforeSave或者我必须调用它吗? 非常感谢
答案 0 :(得分:1)
你很亲密......你想要做的是这样的事情:
Parse.Cloud.beforeSave("testClass", function(request, response) {
if (request.object.get("x1") === 1) {
response.error("email is required for signup");
} else {
response.success();
}
});
因此,在Cloud Code中,您保存的对象始终位于" request.object"。由于它是Parse.Object类型的JavaScript对象,因此https://parse.com/docs/js/中概述的所有函数都起作用(因此.get(" x1"))。一旦我们得到了" x1"属性,我们可以使用标准的Javascript求值程序来测试相等性(在这种情况下,==或===取决于你的需要)。
另请注意" beforeSave"正在寻找ClassName的字符串。 Parse.User是Parse Users的Javascript对象类的名称。字符串形式的User类始终是" _User"。
是的,这将在每次POST /保存时调用。