Boa tarde pessoal, qual é o erro no campo CPF?
 
	 
 
<template>
  <v-container fluid fill-height>
    <v-layout align-center justify-center row fill-height wrap>
      <v-flex xs10 sm7 md5 lg3 xl2>
        <v-form
          data-vv-scope="form1"
          :model="form1"
          lazy-validation
          @submit.prevent="submitForm('form1')"
          autocomplete="off"
          method="post"
          >
          <v-card class="elevation-18 my-4">
            <v-toolbar flat color="transparent">
              <v-toolbar-title>{{ $t('register_head') }}</v-toolbar-title>
            </v-toolbar>
            <v-card-text>
              <v-alert
                :value="form1.has_error && !form1.success"
                type="error"
                class="mb-4"
              >
                <span v-if="form1.error == 'registration_validation_error'">{{ $t('server_error') }}</span>
                <span v-else-if="form1.error == 'limitation_reached'">{{ $t('campaign_customer_sign_up_limit') }}</span>
                <span v-else>{{ $t('correct_errors') }}</span>
              </v-alert>
              <v-text-field
                v-model="form1.name"
                data-vv-name="name"
                v-validate="'required|min:2|max:32'"
                :label="$t('enter_your_name')"
                :data-vv-as="$t('name')"
                :error-messages="errors.collect('form1.name')"
                required
                prepend-inner-icon="person"
              ></v-text-field>
              <v-text-field
                type="email"
                v-model="form1.email"
                data-vv-name="email"
                v-validate="'required|max:64|email'"
                :label="$t('enter_email')"
                :data-vv-as="$t('email_address')"
                :error-messages="errors.collect('form1.email')"
                required
                prepend-inner-icon="email"
              ></v-text-field>
              <v-text-field
                type="number"
                v-model="form1.cpf"
                data-vv-name="cpf"
                v-validate="'required|min:11|max:11'"
                :label="$t('digite_cpf')"
                :data-vv-as="$t('cpf_numero')"
                :error-messages="errors.collect('form1.cpf')"
                required
                prepend-inner-icon="person"
              ></v-text-field>
              <v-text-field
                v-model="form1.password"
                data-vv-name="password"
                v-validate="'required|min:8|max:24'"
                :label="$t('enter_password')"
                :data-vv-as="$t('password')"
                :error-messages="errors.collect('form1.password')"
                :type="show_password ? 'text' : 'password'"
                :append-icon="show_password ? 'visibility' : 'visibility_off'"
                @click:append="show_password = !show_password"
                required
                prepend-inner-icon="lock"
              ></v-text-field>
              <v-checkbox
                type="checkbox"
                v-model="form1.terms"
                data-vv-name="terms"
                v-validate="'required'"
                :label="$t('agree_to_terms')"
                :data-vv-as="$t('terms')"
                :error-messages="errors.collect('form1.terms')"
                value="1"
                required
              >
                  <template v-slot:label>
                    <div>
                      {{ $t('i_agree_to') }}
                      <v-tooltip bottom>
                        <template v-slot:activator="{ on }">
                          <a
                            target="_blank"
                            :href="$router.resolve({name: 'legal'}).href"
                            @click.stop
                            v-on="on"
                          >
                            {{ $t('terms_and_policy').toLowerCase() }}
                          </a>
                        </template>
                        {{ $t('opens_in_new_window') }}
                      </v-tooltip>
                    </div>
                  </template>
              </v-checkbox>
            </v-card-text>
            <v-card-actions>
              <v-btn color="primary" large block :loading="form1.loading" :disabled="form1.loading" type="submit" class="ml-0">{{ $t('create_account') }}</v-btn>
            </v-card-actions>
          </v-card>
          <v-btn @click="toLogin" :disabled="form1.loading" large block text class="no-caps"><v-icon size="16" class="mr-1">arrow_back</v-icon> {{ $t('back_to_login') }}</v-btn>
        </v-form>
      </v-flex>
    </v-layout>
  </v-container>
</template>
<script>
  export default {
    $_veeValidate: {
      validator: 'new'
    },
    data() {
      return {
        show_password: false,
        form1: {
          loading: false,
          terms: '',
          name: '',
          email: '',
          password: '',
          locale: '',
          timezone: '',
          has_error: false,
          error: '',
          errors: {},
          success: false
        }
      }
    },
    created () {
      this.form1.locale = Intl.DateTimeFormat().resolvedOptions().locale || null
      this.form1.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone || null
    },
    computed: {
      campaign () {
        return this.$store.state.app.campaign
      }
    },
    methods: {
      toLogin() {
        this.$router.push({name: 'login'})
      },
      submitForm(formName) {
        this[formName].has_error = false
        this[formName].loading = true
        this.$validator.validateAll(formName).then((valid) => {
          if (valid) {
            this.register(formName);
          } else {
            this[formName].loading = false
            return false;
          }
        });
      },
      register(formName) {
        var app = this[formName]
        this.$auth.register({
          data: {
            language: this.$i18n.locale,
            uuid: this.$store.state.app.campaign.uuid,
            name: app.name,
            email: app.email,
            password: app.password,
            locale: app.locale,
            timezone: app.timezone,
            terms: app.terms
          },
                    success: function () {
                        app.success = true
                        this.$auth.login({
                            rememberMe: true,
                            fetchUser: true,
                            params: {
                                locale: this.$i18n.locale,
                    uuid: this.$store.state.app.campaign.uuid,
                                email: app.email,
                                password: app.password,
                                remember: true
                            },
                            success () {
                                // Handle redirection
                                this.$router.push({name: 'points'})
                            }
                        })
                    },
          error: function (res) {
            app.has_error = true
            app.error = res.response.data.error
            app.errors = res.response.data.errors || {}
            if (app.error == 'limitation_reached') {
              app.name = ''
              app.email = ''
              app.password = ''
            }
            for (let field in app.errors) {
              this.$validator.errors.add({
                field: formName + '.' + field,
                msg: app.errors[field][0]
              })
            }
            app.loading = false
          }
        })
      }
    },
  }
</script>