Разработка:Типовые элементы
Здесь мы описываем правила, которым подчиняются некоторые элементы программы, которые мы считаем типовыми. Это делается для унификации, и в перспективе, для создания универсальной библиотеки.
Формы
Параметры инициализации формы
Как правило, эти параметры передаются через URL страницы, на которой отображается форма, методом GET в виде набора переменных. В этом случае все ссылки на данную страницу должны содержать в себе корректный набор этих параметров. Если параметр задает начальное или принудительное значение для одного из полей формы, рекомендуется, чтобы его имя совпадало с именем поля формы.
При передаче параметра возможен один из перечисленных вариантов:
- Параметр не передан
- Передано значение, ассоциируемое с незаданным параметром (например 0, если параметр - это id).
- Переданное значение, обозначающее несуществующий объект.
- Передано значение неправильного типа
- Передано корректное значение
Для упрощения кодирования, принимаем, что умышленно-не заданный параметр обозначается отсутствием соответствующей переменной. Поскольку правила выбора подходящего значения для второго варианта неоднозначны (в некоторых случаях 0 - корректное значение, в некоторых случаях NULL - один из возможных корректных вариантов, то же самое с пустой строкой), принимаем, что второй вариант - это частный случай третьего. Второй, третий и четвертый вариант считаются ошибками, по-усмотрению разработчика (если иное не указано в ТЗ) их можно считать одним случаем и выводить ошибку. Либо могут быть реализованы разные сообщения об ошибках для каждого из случаев. Если предусмотрена функция коррекции неправильных значений, то неправильные значения могут быть исправлены автоматически, однако об этом должно быть показано предупреждение. Если функции корректировки значений не предусмотрено, то любая ошибка в параметре инициализации ведет к прекращению отображения формы.
Первый вариант считается обозначающим намерение создать новый объект (если речь идет о первичном id) или позволить указать объект в самой форме. Если допустимы оба варианта - и выбора объекта из формы и создание нового объекта, то выбор конкретного варианта выполняется уже в форме. Так же возможен вариант, когда неуказанный параметр заменяется значением по умолчанию. Все три варианта могут комбинироваться в любых сочетаниях, если это допускает разработчик формы. Например:
- только значение по умолчанию - отображается нередактируемое (или скрытое) поле с данным параметром;
- значение по умолчанию плюс выбор из списка - отображается редактируемое поле с уже установленным значением;
- только новый объект - отображается форма создания нового объекта;
- выбор из списка, значение по умолчанию и новый объект - отображается редактируемое поле с установленным значением и вариантом выбора для создания нового объекта (в выпадающем меню - отдельный пункт, в редактируемом поле - пояснение "для создания нового объекта оставьте поле пустым").
Если передано корректное значение, то в зависимости