【问题标题】:PnPJS update items - List data validation failedPnPJS 更新项目 - 列表数据验证失败
【发布时间】:2020-10-24 13:14:42
【问题描述】:

我们直接从 Access 查询加载了一个 SP 列表,现在当我们尝试使用 pnpjs 运行列表更新时,我收到“错误代码:-2130575163.List data validation failed”。

没有必填字段,任何列都没有验证,列表中也没有验证设置。这不是因为它是从 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,
})

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

【问题讨论】:

  • 有更新吗?你解决了你身边的问题吗?如果回复对这个问题有帮助,您可以接受作为答案,以便它可以帮助论坛中的其他人。

标签: sharepoint sharepoint-2013 sharepoint-list pnp-js


【解决方案1】:

试试这个。


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);

【讨论】:

    【解决方案2】:

    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
        });
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2014-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多