Middle
INN lauks (10 vai 12 ciparu). Pēc blur parādīt kļūdu. Sūtīšanas poga ir atspējota, kamēr forma nav derīga.
sobes.tech AI
Atbilde no AI
Ar INN lauks ar validācija uz 10 vai 12 cipariem, kļūdas parādīšana pēc blur un "Sūtīt" pogas bloķēšana līdz forma ir derīga, to var izdarīt šādi (React):
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 jābūt sastāv no 10 vai 12 cipariem</div>
)}
<button type="submit" disabled={!isValid}>Sūtīt</button>
</form>
);
}
export default InnForm;
```\n\nŠeit:\n- Validācija pārbauda, vai INN sastāv tieši no 10 vai 12 cipariem.\n- Kļūda tiek rādīta tikai pēc tam, kad lauks zaudē fokusu (`blur`).\n- "Sūtīt" poga ir atspējota, kamēr INN nav derīgs.