Я использую vuelidate
для проверки поля ввода, поле ввода является динамическим, т. Е. Значение в поле ввода динамически заполняется jsonData
с использованием v-model
Что я пытаюсь сделатьdo is
При размытии я хочу показать ошибку, если она есть, но здесь, когда я что-то печатаю внутри поля ввода, она ничего не показывает
что я делаю: - мой вводполе
<div v-for="data in displayProfileData" :key="data.email" >
<p>{{data}}</p>
<div class="row">
<div class="form-group col-xs-6 col-sm-6 col-md-6 col-lg-3">
<label for="phoneNo">Name</label>
<input v-model="data.businessname"
@blur="$v.form.name.$touch()"
type="text"
class="form-control" name="name"
id="name">
<div v-if="$v.form.name.$error" class="form-error">
<span v-if="!$v.form.name.required" class="text-danger">nameis required</span>
</div>
</div>
<p>{{$v}}</p>
</div>
</div>
Я показываю $v
в пользовательском интерфейсе для проверки, но при вводе в поле ввода никаких изменений не обнаружено
Мой код сценария: -
<script>
import { required,minLength } from 'vuelidate/lib/validators'
import axios from '../../services/base-api'
export default {
data (){
return{
form :{
name:''
},
displayProfileData:[]
}
},
validations: {
form: {
name:{required},
}
},
created(){
this.userId = localStorage.getItem('user-Id')
axios().post('/api/v1/Profile/getProfileData',this.userId)
.then(res=>{
console.log(res.data)
this.displayProfileData=res.data
})
.catch(err=>{
this.$toasted.error(err,{duration:2000})
})
}
}
</script>
Мои данные с сервера имеют следующий формат: { "businessid": "8126815643", "businessname": "manish",}
Выпуск Первоначально при загрузке страницы в поле ввода отображается manish
, поэтому, когда я изменяю ее на что-то другое и выделяюэто показывает ошибку, что name is required
Я не понимаю, что происходит
2 : Динамическая форма - проверьте здесь
пожалуйста, проверьте это ![enter image description here](https://i.stack.imgur.com/OLRF7.png)