如何验证sharepoint列表中的表单字段?

时间:2010-02-25 19:53:55

标签: sharepoint validation field

我想在添加/编辑时验证列表项的字段并停止保存操作,并提供错误信息用户在该页面上所做的事情。

例如,如果我想阻止用户在保存之前根据另一个字段的特定状态保留少量字段,我不能将该字段设为强制字段。

2 个答案:

答案 0 :(得分:3)

使用PreSaveAction。

在页面中添加一个名为PreSaveAction的javascript函数(最好是创建自定义列表模板,并且可以修改将用作EditForm和NewForm的aspx页面,否则请尝试使用内容编辑器Web部件或修改Master Page)并从那里进行所有自定义验证。

例如,我只是在一个项目中使用它,我们有三个百分比的字段必须等于100%。我使用了以下javascript,效果很好:

function getTagFromIdentifierAndTitle(tagName, identifier, title) {
    var len = identifier.length;
    var tags = document.getElementsByTagName(tagName);
    for (var i = 0; i < tags.length; i++) {
        var tempString = tags[i].id;
        if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) {
            return tags[i];
        }
    }
    return null;
}

function PreSaveAction() {
    var top = getTagFromIdentifierAndTitle("input", "TextField", "Top %");
    var middle = getTagFromIdentifierAndTitle("input", "TextField", "Middle %");
    var bottom = getTagFromIdentifierAndTitle("input", "TextField", "Bottom %");
    var valid = (100 == parseInt(top.value) + parseInt(middle.value) + parseInt(bottom.value));
    if (!valid) {
        alert("Top %, Middle %, and Bottom % must equal 100% when added.");
    }
    return valid;
}

答案 1 :(得分:2)

您可能必须开始创建自定义字段控件才能使其正常工作。但是,一旦开始定制路径,您可以考虑几个选项。

您可能想要创建一个自定义的asp.net表单并将其编码以发布到列表或考虑InfoPath表单。