我正在努力向 SharePoint 列表中的日期列添加验证。我已经查找了几个来源,甚至尝试了“= [使用日期]> TODAY()”的最基本验证,如本文所示:https ://sharepointmaven.com/how-to-do-column-validation-in- sharepoint/不适合我。
我要做的是确保输入的日期是四月而不是未来。
我使用的公式是“=AND([使用日期] >= DATE(2021,3,31), [使用日期] <= TODAY())”
该列的编辑接受此公式,但是当我尝试添加新记录时,无论我选择哪个日期,它都会显示错误,因为在所需范围内外的日期都不会被验证为正确。
我不确定上面看到的公式更改是否是问题的原因,或者是否还有我遗漏的任何其他问题,但我非常感谢具有 SharePoint 验证经验的人提供的一些指导。
提前致谢
编辑:我发现了用“#NAME?”替换列名的原因。这是一个错误参考。因为我的列的显示名称包含空格,所以我将显示名称放在方括号内。但是,sharepoint 会从列显示名称中删除空格,以便您可以更轻松地引用该列。使用“[DateUsed]”解决了问题并摆脱了“#NAME?” 错误参考。
首先道歉,在我意识到有一个 Sharepoint 堆栈交换之前,我在这里发布了我的问题,对不起。
看起来我的主要问题之一是 Sharepoint 列表中已经存在的一些值不符合验证规则,这是 SharePoint 不喜欢的。我开始了一个新的测试列表,看看我是否可以让它工作,我最终得到了这个验证公式:=AND(testdate>=DATEVALUE("4/1/2021"),testdate<=TODAY())
这可以确保该值在 4 月而不是在未来。
当您返回查看验证公式时,SharePoint 仍然(令人困惑地)将大于和小于符号的表达式更改为 HTML 转义字符,如下所示:=AND(testdate>=DATEVALUE("4/1/2021"), testdate<=TODAY()) - 所以这是预期的行为。