Как я могу отображать сообщения об ошибках для отдельных входных данных формы с помощью semantic-ui?

#reactjs #semantic-ui #react-hook-form

Вопрос:

Я некоторое время возился с semantic-ui и наткнулся на этот раздел ошибок в документации. Код выглядит так:

   <Form.Input
    error={{ content: 'Please enter your first name', pointing: 'below' }}
    fluid
    label='First name'
    placeholder='First name'
    id='form-input-first-name'
  />
 

В результате возникает состояние ошибки, при котором поле ввода становится красным и появляется сообщение. Но в документации не совсем показано, как реализовать это поведение, если вы просто поместите эту опору для ошибок внутри компонента, она просто останется постоянно красной.

В настоящее время я использую форму react-hook для проверки и отображения ошибок. Мои поля ввода выглядят следующим образом:

         <Form.Field>
            <Form.Input
                label="Name"
                placeholder="Enter the cat's name" type="text"
                {...register("name", { required: true, minLength: 2, maxLength: 30 })}
            />
            <p>
                {errors.name?.type === "required" amp;amp; "You need to write the cat's name"}
            </p>
        </Form.Field>
 

Было бы очень приятно отобразить такое поведение (все красные с сообщениями об ошибках, когда пользователь пытается отправить сообщение с пустым полем), но я просто не могу понять, как это сделать. Есть какие-нибудь предложения?

Комментарии:

1. Вы пробовали добавить реквизит error={errors.name?.type === "required" amp;amp; "You need to write the cat's name"} в свой Form.Input . Глядя на документацию, простая строка будет работать.

2. Это сработало! Я думал, что пробовал это раньше, но, кажется, я поставил дополнительную пару скобок.