Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209

Как опросить дочерние компоненты у формы

22.05.2018, 16:00. Показов 759. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть вот такая вот форма +/- пару строк сверху, но это не интересно
JavaScript
1
2
3
4
5
6
7
export const Form =({...props})=> {
    return(
            <form {...props}>
                {props.children}
            </form>
        )
};
В форме оно юзается вот так.
Причем MaterialInput при срабатывании возвращает текст и статус
{text:'', valid:true}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
render =()=> {
return <Form onSubmit={this.handleSubmit} className='col-wrapper'>
                    <div className='col-1'>
                        <MaterialInput
                            label={'UserName'}
                            onChange={this.onInputVal}
                            IsRequired={true}
                            path='username'
                            value={this.state.username}
                            regExMessage={Lang('IsRequired')}
                        />
                    </div>
                    <div className='col-1'>
                        <MaterialInput
                            label={'Password'}
                            onChange={this.onInputVal}
                            IsRequired={true}
                            path='password'
                            value={this.state.password}
                            regExMessage={Lang('IsRequired')}
                        /> </div>
                    <div className='col-1 element-padding'>
                        <MaterialButton
                            isSubmit={true}
                            className={'big screen-100'}
                        >{Lang('Login')}</MaterialButton>
                    </div>
</Form>
}
Но фишка в том, что пока я не начну вводить или не вызову потерю фокуса у поля, валидация там не работает.
Но надо, сделать как-то, что бы при срабатывании handleSubmit у формы, как-то опрашивались MaterialButton на валидность...
Как это сделать? MaterialButton имеет внутри метод isValid
JavaScript
1
2
3
isValid = () => {
 return this.validate();
}
Возможно, я что-то не верно понял, но выходит я не могу пройтись по всем дочерним элементам и вызвать у них допустим ф-ю isValid?

Добавлено через 45 минут
Так, ладно. Я понял что идея с пробегом по дочерним элементам бред.
Из, за того что форма имеет разношорстную структуру, и не просто набор input'ов.
Проще хранить состояние вида, {value:'', isValid:''} а при сабмите его проверять
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.05.2018, 16:00
Ответы с готовыми решениями:

Дочерние формы одинаковые как упростить задачу
Добрый вечер, я работаю в режиме многодоменного когда одно окно главное в другие дочерие, точнее ismdicontainer = true У меня есть пункт...

SetState не обновляет дочерние компоненты
Всего 2 компонента, родитель и ребёнок для вывода через map в строке 276. Саме дурацкое, что через консоль лог показывает, что общая цена...

Не удаляются дочерние компоненты AnchorPane
Мне нужно по нажатию на кнопку полностью очистить содержимое AnchorPane который в свою очередь является дочернем компонентом ScrollPane. ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.05.2018, 16:00
Помогаю со студенческими работами здесь

Дочерние формы, как сделать, чтобы они были разной прозрачности?
как в Paint.net

Чтоб Дочерние формы открывались по иерархии от главной формы
Есть главная форма Form1, Form1 - topmost=true, т.е Form 1 отображается поверх всех окон. Нужно чтоб form2 открывалась не поверх всех окон...

Узнать, есть ли у данной формы дочерние формы
Как узнать, есть ли у данной формы дочерние формы. Пока нашел только свойство &quot;Есть ли Mdi дочерние формы&quot;, но это же совсем не...

Как сделать что бы дочерние формы в MDI application delphi сразу не открывались при запуске программы
Здравствуйте, как сделать что бы дочерние формы в MDI application delphi сразу не открывались при запуске программы, а открывались после...

Дочерние формы и выявление активной формы
Всем привет!!! У меня возникла следующая проблема, которую у меня решить не получается (может, опять где-то зациклился)... : У меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru