Исходные данные.
Есть таблица в которой есть 2 поля. ПолеА и ПолеБ
ПолеА является связью с справочником в котором есть 5 значений:
Значение1
Значение2
Значение3
Значение4
Значение5
ПолеБ не обязательное поле.
Нужно реализовать следующее.
ПолеБ можно заполнить только в том случае, если в ПолеА Значение1 или Значение2.
Если в ПолеА Значение3, Значение4 или Значение5, то ПолеБ невозможно заполнить.
Если условие не выполнено и пользователь нажимает "Сохранить", то ему выпадает MessageBox и снова предлагается отредактировать эту же запись с теми же введенными данными.
Как это реализовать?
0
Условие на возможность добавления записи в таблицу
Автор vasiliy.zorenko, 02 нояб. 2010 19:45
Сообщений в теме: 5
#1
Отправлено 02 Ноябрь 2010 - 19:45
#2
Отправлено 03 Ноябрь 2010 - 10:13
Тут необходимо примерно следующее условие. Если поле А!= Значение1 или ПолеА!= Значение2, то
Выводить MessageBox, и возвращать пустое значение.
Выводить MessageBox, и возвращать пустое значение.
#3
Отправлено 15 Декабрь 2010 - 17:42
у меня похожая ситуация: есть таблица с несколькими полями
"Корреспондент" - связанный список
поле2 - текст
нужно если оба поле пустое - не давать сохранять данные, и выводить текстовую ошибку.
В вычислениях таблицы поставил следующий код
$card = data_table("Журнал","id={ID}");
if (empty($card['Корреспондент']))
{
echo '$card is either 0 or not set at all';
return;
};
в результате ошибку то он показывает, но при этом сохраняет данные т.е поле "Корреспондент" сохраняется пустым
"Корреспондент" - связанный список
поле2 - текст
нужно если оба поле пустое - не давать сохранять данные, и выводить текстовую ошибку.
В вычислениях таблицы поставил следующий код
$card = data_table("Журнал","id={ID}");
if (empty($card['Корреспондент']))
{
echo '$card is either 0 or not set at all';
return;
};
в результате ошибку то он показывает, но при этом сохраняет данные т.е поле "Корреспондент" сохраняется пустым
Купил лицензию КБ
#4
Отправлено 15 Декабрь 2010 - 18:31
Правильно, дело в том, что вычисления происходят после сохранения. Т.е. сначала идет сохранение данных, которые Вы занесли, а только затем вычисления.
#5
Отправлено 16 Декабрь 2010 - 04:48
а как сделать так чтоб возвращать пользователя на предыдущую страничку чтобы он ввел значение
Купил лицензию КБ
#6
Отправлено 16 Декабрь 2010 - 09:56
Немного не понятно, что есть предыдущая страничка?
Если Вы имеете ввиду страничку редактирования записи, то Вам просто необходимо добавить строку типа
echo "<script>location.href='".$config["site_root"]."/view_line.php?table=номер_таблицы&line={ID}&edit_mode'</script>";
Если Вы имеете ввиду страничку редактирования записи, то Вам просто необходимо добавить строку типа
echo "<script>location.href='".$config["site_root"]."/view_line.php?table=номер_таблицы&line={ID}&edit_mode'</script>";
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных