Как проверить динамически добавленные данные в форме? - PullRequest
0 голосов
/ 11 октября 2019

Я добавляю поля динамически в мою форму, но мне нужно, чтобы они были проверены, чтобы убедиться, что они не пусты. Вот как я создаю свои динамические поля в форме

<div v-for="(option, index) in questionOptions" :key="index">
    <el-row>
        <el-col :span="22">
            <el-form-item prop="option">
                <el-input v-model="option.option"></el-input>
            </el-form-item>
        </el-col>
        <el-col :span="2">
            <div class="btn-link-delete action-button" @click="removeOption(index)"
                :disabled="trashDisabled">
                <i class="fas fa-trash-alt"></i>
            </div>
        </el-col>
    </el-row>
</div>

В моих данных () я делаю это, потому что я хочу, чтобы там было два варианта, прежде чем вы сможете добавить больше полей

questionOptions: [
{
    option: ''
},
{
    option: ''
},

Я хочу проверить эти поля по мере их добавления, сейчас, если я проверяю обычный способ, которым они никогда не проверяются правильно, я заполняю поля ввода, и они показывают, как будто они пусты, и это не позволяет мне сохранять,даже если входные данные не пусты. Я также хочу, чтобы первые два поля были обязательными и проверенными. Не каждый элемент, который я создаю, будет содержать эти динамически добавленные поля, только некоторые. Они представляют собой вопросы, и эти поля доступны только в том случае, если для вопроса задан множественный выбор, эти поля должны создавать эти варианты ответа.

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

я дам вам и представление о том, что я буду делать

methods: {
validate(){
 this.questionOptions.forEach(function(item, key) {      
 if(item.multipleChoice){
   if(item.option===''){
         alert('this question can not be null ' + item.question  )
         return 
      }
   }  
  }
 }
0 голосов
/ 11 октября 2019

Если вы используете класс запросов laravel , вы можете проверить все поля там, чтобы убедиться, что они пусты. Это, безусловно, самый простой и надежный способ сделать это.

Это подтвердит ваш запрос до того, как он попадет в контроллер, и позволит вам возвращать пользовательские ошибки.

Возможно, выхотите сохранить все динамически добавленные поля во вложенном массиве, чтобы вы могли проверить это по отдельности.

В разделе правил вы напишите что-то вроде этого:

'dynamic_fields.*' => ['required']

Надеюсь, это поможет.

...