--- tags: zeta-dom-react --- # Controlled value and error ## Using `value` property Field value can be explicitly controlled. ```typescript function Component() { const form = useFormContext(); const [value, setValue] = useState(''); return ( <Form context={form}> <TextField name="item" value={value} onChange={setValue} /> </Form> ); } ``` ## Using `error` property Field can be explicitly set to erroreous state by providing `error` property. ```typescript function Component() { const form = useFormContext(); return ( <Form context={form}> <TextField name="item" error="Custom error" /> </Form> ); } ``` ## Using `FormContext.setError` method Another way is to use `FormContext.setError` method. ```typescript function Component() { const form = useFormContext(); return ( <Form context={form}> <TextField name="item" /> <button onClick={setError}>Set error</button> </Form> ); function setError() { form.setError('item', 'Custom error'); } } ```