У меня проблема с проверкой ввода, которая позволяет отправлять форму без добавления selectorValue
. Похоже, что у меня есть проверка только для ввода внутри textarea
, но она не учитывает нажатие кнопки «Добавить».
Вот песочница , воспроизводящая проблему.
Я использую Semantic-ui-react
, поэтому мой <Form.Field />
выглядит так:
<Form.Field required>
<label>Selector Values:</label>
<TextArea
type="text"
placeholder="Enter selector values 1-by-1 or as a comma seperated list."
value={this.state.selectorValue}
onChange={this.handleSelectorValueChange}
required={!this.state.selectorValues.length}
/>
<Button positive fluid onClick={this.addSelectorValue}>
Add
</Button>
<ul>
{this.state.selectorValues.map((value, index) => {
return (
<Card>
<Card.Content>
{value}
<Button
size="mini"
compact
floated="right"
basic
color="red"
onClick={this.removeSelectorValue.bind(this, index)}
>
X
</Button>
</Card.Content>
</Card>
);
})}
</ul>
</Form.Field>
Итак, в приведенном выше описании <TextArea>
имеет обязательную опору: !this.state.selectorValues.length
. Это только проверка ввода внутри textarea
, он должен проверить, что значение было добавлено нажатием кнопки Add
, прежде чем разрешить отправлять форму.