Дан инпут в реакт компоненте нужно что бы при сабмите была проверка на то, что значение инпута соответствует формату "фамилия имя отчество", при этом при onChange мы ничего не делаем (просто обработчик setState(e.target.value)), те пользователь может ввести длинные пробелы после слов и в конце
На данный момент я сделал вот так
const withoutSpaces = name.replace(/\s+/g, " ").split(" ")
const isLastSpace = withoutSpaces[withoutSpaces.length - 1] === ""
const validLength = (isLastSpace && withoutSpaces.length === 4) || (!isLastSpace && withoutSpaces.length === 3)
if (!validLength) {
errorDispatching('Введите фамилию, имя, отчество')
return
}
Есть ли более простое решение ?