vendredi 2 octobre 2020

laravel vuejs validation array of pushed inputs

i need to validate array of pushed inputs by vue.js the problem i can't get validation error message, i can't displaying errors resulting from Laravel Array validation in vue js. Anyone any pointers? i get error "Cannot read property '0.upstreamlevel' of undefined"
Thanks in advance! enter image description here enter image description here laravel controller

$rules = [
                '*.upstreamlevel' => 'required',
                '*.downstreamlevel' => 'required',
         ];
    
       $Messages = [
                '*.upstreamlevel.required' => '  please enter upstream',
                '*.downstreamlevel.required' => 'please enter downs',
            ];
       $this->validate($request, $rules, $Messages);

vuejs template

    <template>
      <div v-for="(aRecord, index) in listOfRecords">
                                   
    <input type="text" v-model="aRecord.upstreamlevel" id="upstreamlevel"
     name="upstreamlevel[]" class="form-control">
    <div v-for="(error,  index) in errors">
    <strong></strong>
    
     <input type="text" v-model="aRecord.downstreamlevel" id="downstreamlevel"
       name="downstreamlevel[]" class="form-control">
    <div v-for="(error,  index) in errors">
    <strong></strong>
    </div>
    </template>
    <script>
        export default {
            data() {
                return {
                    listOfRecords: {},
                    month: null,
                    year: null,
                    daysList:0,
                    structures: [],
                    errors : {},
                }
            },
        methods: {},
            AddNew: function () {
                    axios.post(`/new`, this.listOfRecords)
            }
            getDays: function (event) {
                    // `this` inside methods points to the Vue instance
                    this.daysList = new Date(this.year, this.month, 0).getDate();
                    this.listOfRecords=[];
                    for (let i = 1; i < this.daysList; i++) {
                        this.listOfRecords.push(
                            {
                                daytime: i+'/'+this.month+'/'+this.year,
                                upstreamlevel: '',
                                downstreamlevel: '',
                            }
                        );
                    }
                }
     }
    </script>


via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire