PnPJS 更新项目 - 列表数据验证失败

PnPJS update items - List data validation failed

我们直接从 Access 查询加载了 SP 列表,现在当我们尝试 运行 使用 pnpjs 更新列表时,我收到“错误代码:-2130575163.List 数据验证失败”。

没有必填字段,没有对任何列进行验证,列表中也没有验证设置。这不工作是因为它是从 Access 上传的吗?

更新类似这样:

const items = await sp.web.lists.getByTitle("MyList").items.top(1).filter("Title eq 'A Title'").get();

const updatedItem = await sp.web.lists.getByTitle("MyList").items.getById(items[0].Id).update({
    my_id: mynewID,
})

添加列表项没有问题。更新列表项不起作用。

试试这个。


let list = sp.web.lists.getByTitle("MyList");

const i = await list.items.getById(1).update({
  Title: "My New Title",
  Description: "Here is a new description"
});

console.log(i);

items[0].Id 有效吗? 请尝试使用 console.log (items[0].Id) 来检查开发者工具。 我这边测试了同样的请求,my_id是一个数字字段:

  const items = await sp.web.lists.getByTitle("JqueryList").items.top(1).filter("Title eq 'My New Title'").get();
    console.log(items);
    let list = sp.web.lists.getByTitle("JqueryList");

    const i = await list.items.getById(items[0].Id).update({
      Title: "My New Title",
      my_id: 1
    });

我确实解决了它 - 当您在 Access 中使用 StrReverse 函数然后将该查询上传到 SP 列表时 - 列表类型已损坏。 为了修复它,我只是简单地进入并将类型从单行文本更改为多行 - 然后返回到单行文本。

然后我就可以更新列表项了。