diff --git a/app/views/accounts/accountables/_credit_card.html.erb b/app/views/accounts/accountables/_credit_card.html.erb
index 848a885e..7e3d573a 100644
--- a/app/views/accounts/accountables/_credit_card.html.erb
+++ b/app/views/accounts/accountables/_credit_card.html.erb
@@ -4,17 +4,17 @@
<%= f.fields_for :accountable do |credit_card_form| %>
- <%= credit_card_form.text_field :available_credit, label: t(".available_credit"), placeholder: t(".available_credit_placeholder") %>
+ <%= credit_card_form.number_field :available_credit, label: t(".available_credit"), placeholder: t(".available_credit_placeholder"), min: 0 %>
- <%= credit_card_form.text_field :minimum_payment, label: t(".minimum_payment"), placeholder: t(".minimum_payment_placeholder") %>
- <%= credit_card_form.text_field :apr, label: t(".apr"), placeholder: t(".apr_placeholder") %>
+ <%= credit_card_form.number_field :minimum_payment, label: t(".minimum_payment"), placeholder: t(".minimum_payment_placeholder"), min: 0 %>
+ <%= credit_card_form.number_field :apr, label: t(".apr"), placeholder: t(".apr_placeholder"), min: 0, step: 0.01 %>
<%= credit_card_form.date_field :expiration_date, label: t(".expiration_date") %>
- <%= credit_card_form.text_field :annual_fee, label: t(".annual_fee"), placeholder: t(".annual_fee_placeholder") %>
+ <%= credit_card_form.number_field :annual_fee, label: t(".annual_fee"), placeholder: t(".annual_fee_placeholder"), min: 0 %>
<% end %>
diff --git a/app/views/accounts/accountables/_loan.html.erb b/app/views/accounts/accountables/_loan.html.erb
index 6a6e823d..d44b1037 100644
--- a/app/views/accounts/accountables/_loan.html.erb
+++ b/app/views/accounts/accountables/_loan.html.erb
@@ -4,7 +4,7 @@
<%= f.fields_for :accountable do |loan_form| %>
- <%= loan_form.text_field :interest_rate, label: t(".interest_rate"), placeholder: t(".interest_rate_placeholder") %>
+ <%= loan_form.number_field :interest_rate, label: t(".interest_rate"), placeholder: t(".interest_rate_placeholder"), min: 0, step: 0.01 %>
<%= loan_form.select :rate_type, options_for_select([["Fixed", "fixed"], ["Variable", "variable"], ["Adjustable", "adjustable"]]), { label: t(".rate_type") } %>
diff --git a/app/views/accounts/accountables/_property.html.erb b/app/views/accounts/accountables/_property.html.erb
index 898074c8..67ccc042 100644
--- a/app/views/accounts/accountables/_property.html.erb
+++ b/app/views/accounts/accountables/_property.html.erb
@@ -8,8 +8,8 @@
<%= f.fields_for :accountable do |af| %>
- <%= af.number_field :year_built, label: t(".year_built"), placeholder: 2005 %>
- <%= af.number_field :area_value, label: t(".area_value"), placeholder: 2000 %>
+ <%= af.number_field :year_built, label: t(".year_built"), placeholder: 2005, min: 1700, max: Time.current.year %>
+ <%= af.number_field :area_value, label: t(".area_value"), placeholder: 2000, min: 1 %>
<%= af.select :area_unit,
[["Square feet", "sqft"], ["Square meters", "sqm"]],
{ label: t(".area_unit") } %>
diff --git a/app/views/accounts/accountables/_vehicle.html.erb b/app/views/accounts/accountables/_vehicle.html.erb
index e6fe2443..b8baeed1 100644
--- a/app/views/accounts/accountables/_vehicle.html.erb
+++ b/app/views/accounts/accountables/_vehicle.html.erb
@@ -12,8 +12,8 @@
- <%= vehicle_form.text_field :year, label: t(".year"), placeholder: t(".year_placeholder") %>
- <%= vehicle_form.text_field :mileage_value, label: t(".mileage"), placeholder: t(".mileage_placeholder") %>
+ <%= vehicle_form.number_field :year, label: t(".year"), placeholder: t(".year_placeholder"), min: 1900, max: Time.current.year %>
+ <%= vehicle_form.number_field :mileage_value, label: t(".mileage"), placeholder: t(".mileage_placeholder"), min: 0 %>
<%= vehicle_form.select :mileage_unit,
[["Miles", "mi"], ["Kilometers", "km"]],
{ label: t(".mileage_unit") } %>