Как проверить поля формы в списке sharepoint? - PullRequest
2 голосов
/ 25 февраля 2010

Я хочу проверить поля элемента списка при добавлении / редактировании и остановить операцию сохранения и предоставить информацию об ошибке, сделанную пользователем на этой странице.

Например, если я хочу запретить пользователю не оставлять несколько полей, установленных перед сохранением, исходя из определенного состояния другого поля, я не могу сделать это поле обязательным.

Ответы [ 2 ]

3 голосов
/ 26 февраля 2010

Использовать PreSaveAction.

Добавьте функцию javascript с именем PreSaveAction на свою страницу (лучше всего, если вы создаете пользовательский шаблон списка и можете изменить страницу aspx, которая будет использоваться как EditForm и NewForm, в противном случае попробуйте веб-часть редактора содержимого или изменив мастер Страницы) и сделайте все свои собственные проверки оттуда.

Например, я просто использовал его в проекте, где у нас было три процента полей, которые должны были равняться 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;
}
2 голосов
/ 25 февраля 2010

Вам, вероятно, придется начать создавать настраиваемые элементы управления полями, чтобы эта работа работала. Однако, как только вы начнете идти по пути настройки, у вас есть несколько вариантов для размышления.

Вы можете подумать о создании настраиваемой формы asp.net и ее кодировании для публикации в списке или рассмотрении форм InfoPath.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...