← React Beginner Questions - Set 4 Q40
React Beginner Questions - Set 4
The input's value lives in React state, so React can read it, validate it and reset it at any moment.
import { useState } from 'react';
export default function Coupon() {
const [code, setCode] = useState('');
const valid = /^[A-Z0-9]{6}$/.test(code);
return (
<form onSubmit={e => { e.preventDefault(); console.log('apply', code); }}>
<input
value={code}
onChange={e => setCode(e.target.value.toUpperCase())}
placeholder="ABC123"
/>
<button type="submit" disabled={!valid}>Apply</button>
<button type="button" onClick={() => setCode('')}>Reset</button>
{!valid && code.length > 0 && <p>Six characters, letters and digits.</p>}
</form>
);
}