Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Vue向导表单中使用字段验证?_Javascript_Forms_Vue.js_Joi - Fatal编程技术网

Javascript 如何在Vue向导表单中使用字段验证?

Javascript 如何在Vue向导表单中使用字段验证?,javascript,forms,vue.js,joi,Javascript,Forms,Vue.js,Joi,在一个示例中,我尝试使用Joi添加表单验证。我如何在逻辑上设置它?目标是在使用next()方法移动到第二页和最后一页之前控制字段。由于此向导表单的简单性,我不想更改为VueFormWizard。为了增加代码,我删除了很多字段等 {{errorMessage}} 标题 下一步 电子邮件。 回去 提交 从“Joi”导入Joi const schema=Joi.object().keys({ 标题:Joi.string().alphanum().min(2).max(40).必选(), 用户名:J

在一个示例中,我尝试使用Joi添加表单验证。我如何在逻辑上设置它?目标是在使用
next()
方法移动到第二页和最后一页之前控制字段。由于此向导表单的简单性,我不想更改为VueFormWizard。为了增加代码,我删除了很多字段等


{{errorMessage}}
标题
下一步
电子邮件。
回去
提交
从“Joi”导入Joi
const schema=Joi.object().keys({
标题:Joi.string().alphanum().min(2).max(40).必选(),
用户名:Joi.string().email(),
})
导出默认值{
数据:()=>({
步骤:1,
错误消息:false,
例如:{
标题:“”,
用户名:“”
}
}),
观察:{
例如:{
处理程序(){
this.errorMessage=“”
},
深:是的
}
},
方法:{
上一页(){
这一步--
},
下一个(){
这一步++
if(this.validUser()){
返回错误
}
},
createExample(){
//后请求
},
瓦利杜瑟(){
const result=Joi.validate(this.huismap,schema)
返回真值
if(result.error.message.includes('title')){
this.errorMessage='Vul een titel in van min 2 karakters'
返回错误
}
}
}

如果按以下方式设置浏览器验证,则可以使用浏览器验证:

<form @submit.prevent="submitMyForm">
    <input v-model="form.title" required minlength="4" maxlength="20" />

    <button type="submit">Submit</button>
</form>

提交
现在,如果
title
为空,如果长度小于4或大于20,浏览器将阻止您提交表单

此解决方案可以执行很多操作,甚至可以执行正则表达式检查:


但是,这仅限于一小部分检查,旧浏览器不支持。如果需要非常特定的验证,则必须使用自定义解决方案,如下所述。

如果按如下方式设置,则可以使用浏览器验证:

<form @submit.prevent="submitMyForm">
    <input v-model="form.title" required minlength="4" maxlength="20" />

    <button type="submit">Submit</button>
</form>

提交
现在,如果
title
为空,如果长度小于4或大于20,浏览器将阻止您提交表单

此解决方案可以执行很多操作,甚至可以执行正则表达式检查:


但是,这仅限于一小部分检查,旧浏览器不支持。如果您需要非常特定的验证,则必须使用自定义解决方案,如下所述。

是的,我理解。但是您的解决方案是否不仅在提交时验证表单的结尾?在我的向导表单中,有2页,我希望进行字段验证离开第1页,进入第2页,您可以自由地使用多个
:)。您只在需要时发送数据,使用您创建的方法。感谢您启发我!从实用的角度来看,我决定拆分验证错误消息。现在可以了。是的,我理解。但是,您的解决方案是否不仅验证了验证的结束提交时使用e表单?在我的向导表单(共2页)中,我希望在离开第1页后进入第2页时进行字段验证。您可以自由使用多个
:)。您只在需要时发送数据,使用您创建的方法。感谢您的启发!从实用的角度来看,我决定拆分验证错误消息。现在,它已经成功了他在工作