parse.com中beforeSave云代码的示例

时间:2014-12-11 08:05:09

标签: parse-platform corona before-save

我在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或者我必须调用它吗? 非常感谢

1 个答案:

答案 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 /保存时调用。