diff --git a/routes/update.py b/routes/update.py
index 99b47dd..f246d2c 100644
--- a/routes/update.py
+++ b/routes/update.py
@@ -1,5 +1,6 @@
 from flask import Blueprint, request, render_template, redirect
 from models import Asset, db
+from config import item_attributes
 
 update_bp = Blueprint('editasset', __name__)
 
@@ -13,11 +14,11 @@ def update(assettag):
             warrantyfrom = request.form['warrantyfrom']
             status = request.form['status']
             if status not in ['Active', 'Inactive']:
-                return render_template('update.html', item=item, exc='status')  # Ensure status is valid
+                return render_template('update.html', item=item, exc='status', item_attributes=item_attributes)  # Ensure status is valid
             try:
                 staffnum = int(request.form['staffnum'])
             except ValueError:
-                return render_template('update.html', item=item, exc='staffnum')
+                return render_template('update.html', item=item, exc='staffnum', item_attributes=item_attributes)
 
             try:
                 setattr(item, 'assettag', assettag)
@@ -28,11 +29,11 @@ def update(assettag):
 
                 db.session.commit()
             except exc.IntegrityError:
-                return render_template('update.html', item=item, exc='integrity')
+                return render_template('update.html', item=item, exc='integrity', item_attributes=item_attributes)
             except (exc.StatementError, exc.InvalidRequestError) as e:
-                return render_template('update.html', item=item, exc='status')
+                return render_template('update.html', item=item, exc='status', item_attributes=item_attributes)
 
             return redirect(f'/viewall/')
         return f"Asset {assettag} is not found"
 
-    return render_template('update.html', item=item)
\ No newline at end of file
+    return render_template('update.html', item=item, item_attributes=item_attributes)
\ No newline at end of file
diff --git a/templates/update.html b/templates/update.html
index a60f487..c00e6ec 100644
--- a/templates/update.html
+++ b/templates/update.html
@@ -8,26 +8,32 @@
     <h2 align="center">Update Item</h2>
 
     <form action='' method = "POST">
+        {% for attrib, properties in item_attributes.items() -%}
         <p>
-            <label for="assettag">Asset Tag:</label>
-            <input id="assettag" type = "text" name = "assettag" value="{{item.assettag}}" required/>
-        </p>
-        <p>
-            <label for="hostname">Host Name:</label>
-            <input id="hostname" type = "text" name = "hostname" value="{{item.hostname}}" required/>
-        </p>
-        <p>
-            <label for="warrantyfrom">Warranty From:</label>
-            <input id="warrantyfrom" type = "date" name = "warrantyfrom" value="{{item.warrantyfrom}}" required/>
-        </p>
-        <p>
-            <label for="status">Status:</label>
-            <input id="status" type = "integer" name = "status" value="{{item.status}}" required/>
-        </p>
-        <p>
-            <label for="staffnum">Staff No:</label>
-            <input id="staffnum" type = "integer" name = "staffnum" value="{{item.staffnum}}" required/>
+            <label for="{{ attrib }}">{{ properties.display_name }}:</label>
+            {%- if properties.html_input_type == "select" %}
+            <select
+                id="{{ attrib }}"
+                name="{{ attrib }}"
+                {%- if properties.required %} required {% endif -%}
+            >
+                {% for option in properties.options -%}
+                <option value="{{ option }}">{{ option }}</option>
+                {% endfor -%}
+            </select>
+            {% else %}
+                <input
+                    id="{{ attrib }}"
+                    type="{{ properties.html_input_type }}"
+                    name="{{ attrib }}"
+                    {%- if properties.required %} required {% endif -%}
+                    {%- if properties.min is not none %} min="{{ properties.min }}" {% endif -%}
+                    {%- if properties.max is not none %} max="{{ properties.max }}" {% endif -%}
+                    {%- if item.attrib  %} value="{{ item.attrib }}" {% endif -%}
+                />
+            {% endif -%}
         </p>
+        {% endfor %}
         <p><input type = "submit" value = "Update" /></p>
     </form>