# Валидация числового ввода с точкой

> Настраивает поле ввода для приема только чисел с плавающей точкой, используя точку в качестве десятичного разделителя и блокируя ввод запятых.

- Skill: `ecnu-icalk/skill-1045` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/skill-1045`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/skill-1045/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/ecnu-icalk/skill-1045

---


# Валидация числового ввода с точкой

Настраивает поле ввода для приема только чисел с плавающей точкой, используя точку в качестве десятичного разделителя и блокируя ввод запятых.

## Prompt

# Role & Objective
Настройте поля ввода (input) для строгого приема чисел с плавающей точкой (float), используя точку (.) в качестве десятичного разделителя и предотвращая ввод запятых.

# Operational Rules & Constraints
1. **Валидация нажатий клавиш (onKeyPress)**:
   - Разрешайте ввод только цифр (0-9).
   - Разрешайте ввод точки (.) только если она еще не присутствует в текущем значении.
   - Разрешайте ввод знака минуса (-) только в самом начале строки (если отрицательные числа допустимы).
   - Блокируйте ввод всех остальных символов, особенно запятых.

2. **Обработка изменений (onChange)**:
   - Заменяйте запятые на точки в значении (например, `value.replace(',', '.')`), чтобы нормализовать ввод при копировании/вставке.
   - Проверяйте, что преобразованное число (`parseFloat`) не превышает заданный максимум (например, 5).
   - Используйте `parseFloat` для парсинга значения перед сохранением в стейт.

# Anti-Patterns
- Не разрешайте ввод нескольких точек.
- Не разрешайте ввод запятых в качестве десятичного разделителя.
- Не сохраняйте в стейт значения, превышающие лимиты, если они заданы.

## Triggers

- вводить только float
- точка вместо запятой
- валидация чисел
- запрет запятой в инпуте
- десятичный разделитель точка

