Vuelidate:根据其他复选框使字段可选(也应适用于自定义验证)
Vuelidate: Make field optional based on other checkbox (should apply to custom validations as well)
如何在 Vuelidate 中保持字段可选?
Vuelidate 在代码中给出 $v
。要检查表单验证,我们有 $invalid
道具
现在我如何根据复选框保持 x 字段可选
例如
[ ] use y field
[ y text field ] (right now optional)
但如果我选中复选框
[x] use y field
[ y text field ] (now its required and it will follow other validations such as sameAs/minLength/max/custom validation
PS:它还应该验证自定义验证。
我有这个jsfiddle。
我想要的是,如果我选中 is universal
框,那么只有验证应该应用于输入框,否则验证应该被忽略并且 $invalid
应该是 false
您需要将 validations
属性 更改为一个函数,这样您就可以使用 this
访问状态。您还需要在自定义验证器中检查您的复选框值:
validations() {
return {
text: {
required: requiredIf(function () {
return this.isUniversal
}),
roblox (val) {
return this.isUniversal ? !!val.match(/roblox.com/) : true
}
}
}
},
我编辑了你的jsfiddle
如何在 Vuelidate 中保持字段可选?
Vuelidate 在代码中给出 $v
。要检查表单验证,我们有 $invalid
道具
现在我如何根据复选框保持 x 字段可选
例如
[ ] use y field
[ y text field ] (right now optional)
但如果我选中复选框
[x] use y field
[ y text field ] (now its required and it will follow other validations such as sameAs/minLength/max/custom validation
PS:它还应该验证自定义验证。
我有这个jsfiddle。
我想要的是,如果我选中 is universal
框,那么只有验证应该应用于输入框,否则验证应该被忽略并且 $invalid
应该是 false
您需要将 validations
属性 更改为一个函数,这样您就可以使用 this
访问状态。您还需要在自定义验证器中检查您的复选框值:
validations() {
return {
text: {
required: requiredIf(function () {
return this.isUniversal
}),
roblox (val) {
return this.isUniversal ? !!val.match(/roblox.com/) : true
}
}
}
},
我编辑了你的jsfiddle