Vuelidate with props

hello guys i’m stuck in properties and i don’t know if it’s possible well i’m going to tell you i have two components Register.vue and BaseInput.vue

Register vue using the base component input.vue now my question is about validation not if I am doing well when using laps, but if this is the case they would give me a hand the specific validation does not work for me, or maybe I have to bet for another type of validation here the images
I await your comments …

here my code Register

<div class="mt-5">
             <alert-component :alertdata="alertdata"/>
                <div class="card w-50 m-auto d-flex justify-content-center">
            <div class="card-header">
                <h1 class="text-center">Registrate</h1>
            </div>
            <div class="card-body">
                 <form @submit.prevent="Registrar">
            <base-input 
            title="Nombre" 
            holder="Ingrese Nombre here"
            id="register_user1"
            tipo="text"
            status="statusalert"
            v-model="data.name"
            />
            <div class="text-center">
                    <b-button type="submit" variant="primary">Registrar</b-button>
            </div>
            </form>
             <div class="text-center mt-5 mb-5">
            <a href="" @click="Login">Ingresar Session</a>
        </div>
         </div>
       </div>

 </div>
<script>

import {mapState,mapMutations, mapActions} from 'vuex'

import { validationMixin } from 'vuelidate'

import { required, minLength,maxLength, between } from 'vuelidate/lib/validators'

import axios from 'axios'

export default {

      mixins: [validationMixin],

    computed:{

        ...mapState('crudusuario',['data']),

    },

    methods:{

        validations:{

            data:{

                name:{

                    required,

                    minLength: minLength(4),

                    maxLength: maxLength(10),

                }

            }

        },

        Registrar(){

              

        }

            

    }

}

</script>

Here my code BaseInput.vue

<b-container fluid="lg" class="mt-5">

         <div

        class="form-group"

        v-bind:label=title

        label-for="input-1"

      >

        <input

        :id="id"

        class="form-control"

          :type="tipo"

          :placeholder="holder"

          :value="value"

         v-on:input="updateValue($event.target.value)"

        >

             <!-- <div class="valid-feedback">Name is vlaid</div> -->

        <!-- <input class="form__input" v-model.trim="$v.name.$model"/> -->

           <!-- <div class="invalid-feedback">

              <span v-if="!$v.validation.required">Name is required</span>

                 <span  v-if="!$v.validation.minLength">name require min {{$v.value.$params.minLength.min}} caracters</span>

                 <span  v-if="!$v.validation.maxLength">name require max {{$v.value.$params.maxLength.max}} caracters</span>

              </div> -->

          </div>

            </b-container>
<script>

export default {

    name:'base-input',

    props:{

      holder:{

        type:String,

      },

      title:{

        type:String

      },

      value:{

        type:String,

        required:true,

      },

      id:{

        type:String

      },

      tipo:{

        type:String

      },

    },

  // validations:{

  // },

  //añado metodo de validacion

    methods:{

        updateValue: function (value) {

        this.$emit('input', value)

      },

      

    },

}

</script>