Использовать 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;
}