Vuelidate 在单击操作时验证 bootstrapvue / vue 表单字段
Vuelidate validate a bootstrapvue / vue form field on click action
我正在创建一个注册表单,用于验证用户选择的 login_id 在服务器上是否可用。
此表单在 bootstrapvue 上。
<b-form @submit="onSubmit" v-if="show" @reset="onReset" >
<b-form-group
id="signupInputGroup0"
label="Login:"
label-for="exampleInput0"
description="Choose a unique login id"
valid-feedback="Great! Your login id is unique"
invalid-feedback="Login id already exists. Please pick another login.">
<b-form-input
id="signupInput0"
type="login"
v-model="form.login"
required
placeholder="Enter a unique login id"
/>
<b-button variant="success" @click="onCheckAvailability">Check Availability</b-button>
</b-form-group>
...
我现在的问题是关于 onCheckAvailability 的调用。此函数将调用 API 并将有效状态设置为 LoginId 字段。
我实际上正在考虑 vuelidate 为所有表单字段创建验证。自定义我自己的验证方法调用 isUniqueLogin
validations:{
form: {
login: {
required,
isUniqueLogin: this.onCheckAvailability(this.login)
}, ...
在这种情况下,我们如何将此 点击验证 传递回表单?
我正在寻找一种简洁优雅的方法。
也可以使用其他可以很好地做到这一点的东西。
注意:这不是提交点击。这是一个简单的点击字段验证。
有时,如果我不太了解范式,使用框架会很乏味。
<b-form-group>
和 <b-form-input>
都有一个名为 state
的属性,如果值有效则接受 true
,无效则接受 false
,或者 null
如果未验证。
您需要将此属性(在 <b-form-group>
和 <b-form-input>
上)设置为 checkAvailability
调用的结果。
请注意 invalid-feedback
和 valid-feedback
道具用于 <b-form-group>
而不是 <b-form-input>
我正在创建一个注册表单,用于验证用户选择的 login_id 在服务器上是否可用。 此表单在 bootstrapvue 上。
<b-form @submit="onSubmit" v-if="show" @reset="onReset" >
<b-form-group
id="signupInputGroup0"
label="Login:"
label-for="exampleInput0"
description="Choose a unique login id"
valid-feedback="Great! Your login id is unique"
invalid-feedback="Login id already exists. Please pick another login.">
<b-form-input
id="signupInput0"
type="login"
v-model="form.login"
required
placeholder="Enter a unique login id"
/>
<b-button variant="success" @click="onCheckAvailability">Check Availability</b-button>
</b-form-group>
...
我现在的问题是关于 onCheckAvailability 的调用。此函数将调用 API 并将有效状态设置为 LoginId 字段。
我实际上正在考虑 vuelidate 为所有表单字段创建验证。自定义我自己的验证方法调用 isUniqueLogin
validations:{
form: {
login: {
required,
isUniqueLogin: this.onCheckAvailability(this.login)
}, ...
在这种情况下,我们如何将此 点击验证 传递回表单? 我正在寻找一种简洁优雅的方法。 也可以使用其他可以很好地做到这一点的东西。
注意:这不是提交点击。这是一个简单的点击字段验证。 有时,如果我不太了解范式,使用框架会很乏味。
<b-form-group>
和 <b-form-input>
都有一个名为 state
的属性,如果值有效则接受 true
,无效则接受 false
,或者 null
如果未验证。
您需要将此属性(在 <b-form-group>
和 <b-form-input>
上)设置为 checkAvailability
调用的结果。
请注意 invalid-feedback
和 valid-feedback
道具用于 <b-form-group>
而不是 <b-form-input>