Управляемые базой данных поля (идентификаторы полей)
Мне нужно настроить все поля в базе данных моего веб-сайта, чтобы я мог выполнять отслеживание на уровне полей и назначать валидации / типы полей и т. Д. Для каждого типа поля. Текущая схема:
L_SystemFields
sys_field_id
название
L_Fields
FIELD_ID
sys_field_id (от FK до L_SystemFields)
название
Это позволяет мне связать это:
Поле 1 = имя пользователя на странице входа
Поле 2 = имя пользователя на странице регистрации
Теперь оба поля технически одинаковы - "username", поэтому они имеют одинаковые sys_field_id & name в L_SystemFields. Но для отслеживания полей им нужен уникальный идентификатор, поэтому они имеют разные field_id и имя в L_fields, например username1, username2.
Вопрос: в html-форме, что я вношу - field_id, sy_field_id, name (из L_SystemFields) или name (из L_Fields) или что-то еще? Насколько я знаю, имена полей должны быть уникальными для каждой страницы, что работает в этом случае, но не будет работать в случае, когда у меня есть несколько одинаковых полей на странице, например в профиле пользователя, где я могу добавить несколько посещенных мной колледжей. В этом случае, как назвать поля и какие значения использовать?
1 ответ
Предположим, что вы не выводите схему базы данных для соответствия форме HTML. Вы хотите, чтобы ваше приложение было легко изменить в будущем. Привязка дизайна базы данных к вашей HTML-форме была бы болезненной в будущем. Это также позволит вам реализовать v2 или другой интерфейс (мобильное приложение, приложение для настольного компьютера и т. Д.) Независимо от вашей первоначальной реализации HTML.
Рассмотрим реализацию вашей базы данных в первую очередь. Достигните 2-й или 3-й нормальной формы, как считаете нужным.
В общем, дайте имя / идентификатор вашим элементам HTML, чтобы они имели смысл. Разные элементы на разных страницах (контакт против профиля против регистрации) не обязательно должны иметь уникальные имена.
Непонятно, почему вам нужно включить / украсить ваше поле с помощью field_type_ID.
<input type="text" id="customerEmail_1" />
<input type="text" id="homePhone" />
Для кратных:
<input type="text" id="customerEmail_2" /> //etc
Если вам нужны кратные, другой вариант будет использовать и стиль <textarea>
,