Middle
Polje INN (10 ili 12 cifara). Prikaži grešku nakon blur. Dugme Pošalji je onemogućeno dok forma nije validna.
sobes.tech АИ
Одговор од АИ
Za polje INN sa proverom na 10 ili 12 cifara, prikazom greške nakon blur i blokiranjem dugmeta "Pošalji" dok formular nije validan, može se uraditi ovako (u React-u):
import React, { useState } from 'react';
function InnForm() {
const [inn, setInn] = useState('');
const [touched, setTouched] = useState(false);
const isValidInn = (value) => {
return /^\d{10}$/.test(value) || /^\d{12}$/.test(value);
};
const handleBlur = () => {
setTouched(true);
};
const isValid = isValidInn(inn);
return (
<form>
<label>
INN:
<input
type="text"
value={inn}
onChange={e => setInn(e.target.value)}
onBlur={handleBlur}
maxLength={12}
/>
</label>
{touched && !isValid && (
<div style={{ color: 'red' }}>INN mora sadržati 10 ili 12 cifara</div>
)}
<button type="submit" disabled={!isValid}>Pošalji</button>
</form>
);
}
export default InnForm;
```\n\nOvde:\n- Validacija proverava da li INN sadrži tačno 10 ili 12 cifara.\n- Greška se prikazuje samo nakon što polje izgubi fokus (`blur`).\n- Dugme "Pošalji" je onemogućeno dok INN nije validan.