fix: prevent negative numeric inputs in rental forms by enforcing positive constraints and sanitizing user entries

This commit is contained in:
sazzadulalambd
2026-04-26 14:59:27 +06:00
parent 7457b997ef
commit f724a00453
2 changed files with 16 additions and 7 deletions

View File

@@ -492,19 +492,27 @@ const generateInvoice = () => {
<div>
<label className="text-sm text-slate-600">Daily Rate ()</label>
<input
type="number"
value={newRental.dailyRate}
onChange={(e) => setNewRental({ ...newRental, dailyRate: Number(e.target.value) })}
type="text"
value={newRental.dailyRate || ''}
onChange={(e) => {
const val = e.target.value.replace(/[^0-9]/g, '');
setNewRental({ ...newRental, dailyRate: val ? Number(val) : 0 });
}}
className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1"
placeholder="150"
/>
</div>
<div>
<label className="text-sm text-slate-600">Deposit ()</label>
<input
type="number"
value={newRental.deposit}
onChange={(e) => setNewRental({ ...newRental, deposit: Number(e.target.value) })}
type="text"
value={newRental.deposit || ''}
onChange={(e) => {
const val = e.target.value.replace(/[^0-9]/g, '');
setNewRental({ ...newRental, deposit: val ? Number(val) : 0 });
}}
className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1"
placeholder="0"
/>
</div>
<div>