Middle
INN ველი (10 ან 12 ციფრი). Blur-ის შემდეგ შეცდომა გამოიტანეთ. გაგზავნის ღილაკი დისაბლდება, სანამ ფორმა არ არის ვალიდური.
sobes.tech AI
პასუხი AI-სგან
10 ან 12 ციფრის შემოწმებით, შეცდომის ჩვენება blur შემდეგ და "გაგზავნის" ღილაკის ბლოკირება სანამ ფორმა არ არის ვალიდური, ასე შეიძლება გაკეთდეს (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 უნდა შეიცავდეს 10 ან 12 ციფრს</div>
)}
<button type="submit" disabled={!isValid}>გაგზავნა</button>
</form>
);
}
export default InnForm;
```\n\nაქ:\n- ვალიდაცია ამოწმებს, რომ INN შეიცავს ზუსტად 10 ან 12 ციფრს.\n- შეცდომა გამოჩნდება მხოლოდ მაშინ, როდესაც ველი დაკარგავს ფოკუსს (`blur`).\n- "გაგზავნა" ღილაკი გამორთულია, სანამ INN არ არის ვალიდური.