Я проверяю некоторые пользовательские вводимые значения, если они пустые, и если да, то я перебираю их заголовки (textinput title) и проверяю, содержат ли они '*'. Если они это сделают, я отображаю сообщение для пользователя.
Тем не менее, мой подход не работает по некоторым причинам. Это просто продолжается дальше, даже если пользователь не заполняет обязательные поля.
Что я тут не так делаю?
for (i = 0; i < this.myInputFields.myTextFields.length; i++) {
data[this.myInputFields.myTextFields[i].key] = this.myInputFields.myTextFields[i].inputValues; //there is a bug here, if user doesnt fill the first textinput it will fail to send
if (this.myInputFields.myTextFields[i].inputValues === '') {
if (this.myInputFields.myTextFields[i].title.every('*')) {
return Alert.alert('Please fill out the required fields!')
}
}
}
Если пользователь не вводит данные в первом TextInput, это приводит к сбою операции и отображает ошибку, в которой говорится, что «this.myInputFields.myTextFields[i].key
» не определено. Очевидно, что он терпит неудачу, потому что он находит массив пустым и фактически ожидает, что там будет значение. Но как я могу заставить его продолжаться, даже если он пуст?