J'essaie d'utiliser vee validate pour vérifier le mot de passe en utilisant ce code.
<div>
<input type="password"
placeholder="Password"
v-model="password"
v-validate="'required|min:6|max:35|confirmed'"
name="password" />
</div>
<div>
<span>{{ errors.first('password') }}</span>
</div>
<div>
<input type="password"
placeholder="Confirm password"
v-model="confirmPassword"
v-validate="'required|target:password'"
name="confirm_password" />
</div>
<div>
<span>{{ errors.first('confirm_password') }}</span>
</div>
Mais il dit toujours La confirmation du mot de passe ne correspond pas. Qu'est-ce qui ne va pas dans mon code?
Votre mot de passe doit obligatoirement avoir ref="password"
- voilà comment vee-validate trouve la cible:
<input v-validate="'required'" ... ref="password">
_ (Merci, Ryley ).
confirmée: {cible} - L'entrée doit avoir la même valeur que l'entrée cible, spécifiée par {cible} comme nom du champ cible.
De plus, il y a une erreur avec votre syntaxe Vee Validate, changez target:
à confirmed:
v-validate="'required|target:password'"
devrait être
v-validate="'required|confirmed:password'"
Regardez l'exemple de base ci-dessous, il vérifiera deux choses:
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})
body {
background: #20262E;
padding: 15px;
font-family: Helvetica;
}
#app {
width: 60%;
background: #fff;
border-radius: 10px;
padding: 15px;
margin: auto;
}
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vee-validate/2.1.1/vee-validate.js"></script>
<script>
Vue.use(VeeValidate);
</script>
<div id="app">
<form id="demo">
<!-- INPUTS -->
<div class="input-group">
<h4 id="header"> Enter Password</h4>
<div class="input-fields">
<input v-validate="'required'" name="password" type="password" placeholder="Password" ref="password">
<input v-validate="'required|confirmed:password'" name="password_confirmation" type="password" placeholder="Password, Again" data-vv-as="password">
</div>
</div>
<!-- ERRORS -->
<div class="alert alert-danger" v-show="errors.any()">
<div v-if="errors.has('password')">
{{ errors.first('password') }}
</div>
<div v-if="errors.has('password_confirmation')">
{{ errors.first('password_confirmation') }}
</div>
</div>
</form>
</div>
Lectures supplémentaires: https://baianat.github.io/vee-validate/guide/rules.html#confirmed