Parse platform parse.com中beforeSave云代码示例

Parse platform parse.com中beforeSave云代码示例,parse-platform,coronasdk,before-save,Parse Platform,Coronasdk,Before Save,我在Corona中使用以下代码发布一个表来parse.com(示例数据) 下面是我的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.succe

我在Corona中使用以下代码发布一个表来parse.com(示例数据)

下面是我的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是否在每个对象上运行,或者我必须调用它?
非常感谢

你很接近。。。您想要做的是这样的事情:

Parse.Cloud.beforeSave("testClass", function(request, response) {
  if (request.object.get("x1") === 1) {
    response.error("email is required for signup");
  } else {
    response.success();
  }
});
因此,在云代码中,您保存的对象总是在“request.object”中。因为它是Parse.object类型的JavaScript对象,所以所有的函数都在工作(因此是.get(“x1”))。一旦我们得到“x1”属性的值,我们就可以使用标准Javascript求值器来测试相等性(在本例中,根据您的需要,==或===)

还请注意,“beforeSave”在类名称中查找字符串。User是Parse用户的Javascript对象类的名称。字符串形式的用户类始终为“\u User”


是的,这将在每次发布/保存时调用。

John,感谢您的详细解释,但是在加载此代码时我发现了以下错误:“更新失败,无法加载触发器。错误是未捕获的语法错误:main.js:2中未执行的标识符”John,我可以解决,您必须添加“(“在请求之前和”)”在第2行的1之后。另外_User应该被类名替换(我的是testClass)。请你把它修好,这样我就可以接受它作为答案了。谢谢,我很高兴能帮上忙。玩得高兴
Parse.Cloud.beforeSave("testClass", function(request, response) {
  if (request.object.get("x1") === 1) {
    response.error("email is required for signup");
  } else {
    response.success();
  }
});