diff --git a/assets/main.css b/assets/main.css
index 445fb33..26ff67d 100644
--- a/assets/main.css
+++ b/assets/main.css
@@ -86,7 +86,7 @@ menu.sidebar {
 	gap: 20px;
 }
 
-div.errors {
+ul.errors {
 	color: var(--text-important);
 	margin: 20px 0;
 	min-height: 40px 0;
diff --git a/components/login.vue b/components/login.vue
index 4773bc3..6a50474 100644
--- a/components/login.vue
+++ b/components/login.vue
@@ -41,4 +41,4 @@ export default {
 		return { email: "", password: "", error: ""}
 	},
 }
-</script>
\ No newline at end of file
+</script>
diff --git a/components/new.vue b/components/new.vue
index 75b2167..dc4fc3a 100644
--- a/components/new.vue
+++ b/components/new.vue
@@ -173,9 +173,9 @@ selected="estimate.transaction == 1">
 
 	<button @click="generate">Generate</button>
 
-	<div class="errors">
-	<span v-for="e in errors">{{e}}</span>
-	</div>
+	<ul class="errors">
+	<li v-for="e in errors">{{e}}</li>
+	</ul>
 
 </section>
 
@@ -283,7 +283,7 @@ function setLtv(e) {
 	loan.amount = (ltv / 100 * this.estimate.price).toFixed(2)
 }
 
-// Changes loan.amount's <input> and data() values, then syncs with data.ltv
+// Changes loan.amount\'s <input> and data() values, then syncs with data.ltv
 function setAmount(e) {
 	let amount = strip(e)
 	let loan = this.loans[this.sel]
@@ -356,6 +356,18 @@ function validate() {
 	} else if (!estimate.mIncome) {
 		errors.push("Missing monthly income.")
 	}
+	
+	estimate.loans.forEach(l => {
+	    if (errors.length) return
+
+	    if (!l.amount) {
+	        errors.push("Loan amount cannot be zero")
+	    } else if (!l.interest) {
+	        errors.push("Interest rate cannot be zero")
+	    } else if (!l.term) {
+	        errors.push("Loan term cannot be zero")
+	    }
+	})
 
 	return errors
 }
diff --git a/skouter.go b/skouter.go
index 8f721b6..a5688c6 100644
--- a/skouter.go
+++ b/skouter.go
@@ -880,6 +880,7 @@ func api(w http.ResponseWriter, r *http.Request) {
 		panic(err)
 		// maybe os.Exit(1) instead
 	}
+	
 	switch {
 	case match(p, "/api/login", &args) &&
 	r.Method == http.MethodPost: