Как изменить правило за уловом топора ios, используя vee-validade - PullRequest
1 голос
/ 08 апреля 2020

Я использую библиотеку Vue vee-validity, мне удается проверить поля, прежде чем нажимать кнопку отправки.

Однако я хочу что-то сделать, когда я нажимаю на кнопку отправить Пост сделан с данными. Если есть ошибка пользователя, я хотел бы сообщить на входе, что пользователь недоступен.

Как я могу получить доступ к методам внутри catch on ax ios, чтобы сообщить данное сообщение? или есть другая альтернатива?

            <ValidationProvider 
              rules="required|min|max" 
              name="Username" 
              v-slot="{ errors }"
            >
              <b-field
                label="Username"
                :type="{ 'is-danger': errors[0] }"
                :message="errors"
              >
                <b-input v-model="username"></b-input>
              </b-field>
            </ValidationProvider>

     this.axios
      .post(...{ })
      .then(response => {})
      .catch(error => {
        if (error.response.status == 400){ // Invalid username and/or password }
        else if (error.response.status == 409){ // username already exists }
        else if(error.response.status == 500){ // Unknown Error }
    });

1 Ответ

0 голосов
/ 08 апреля 2020

ValidationProvider имеет метод setErrors именно для этой цели. Подробности смотрите в документах .

Что бы вы сделали, это примерно так:

 <ValidationObserver ref="observer"> ...

 this.axios
  .post(...{ })
  .then(response => {})
  .catch(error => {
    if (error.response.status == 400){ // Invalid username and/or password }
       this.$refs.observer.setErrors({
         Username:['Invalid username and/or password']
       });
    else if (error.response.status == 409){ // username already exists }
    else if(error.response.status == 500){ // Unknown Error }
});
...