Categories: Nuxt.js 教程

Nuxt.js validate 方法

validate 方法

Nuxt.js 可以让你在动态路由对应的页面组件中配置一个校验方法用于校验动态路由参数的有效性。

  • 类型: Function
validate({ params, query }) {
  return true // 如果参数有效
  return false // 参数无效,Nuxt.js 停止渲染当前页面并显示错误页面
}
async validate({ params, query, store }) {
  // await operations
  return true // 如果参数有效
  return false // 将停止Nuxt.js呈现页面并显示错误页面
}

您还可以返回一个Promise:

validate({ params, query, store }) {
  return new Promise((resolve) => setTimeout(() => resolve()))
}

Nuxt.js 可以让你在动态路由对应的页面组件(本例为: pages/users/_id.vue)中配置一个校验方法。

如果校验方法返回的值不为 true, Nuxt.js 将自动加载显示 404 错误页面。

export default {
  validate ({ params }) {
    // Must be a number
    return /^d+$/.test(params.id)
  }
}

你也可以在validate 方法中校验 store 的数据 (如果 store 此前在 nuxtServerInit 方法 中被设置了的话):

export default {
  validate ({ params, store }) {
    // 校验 `params.id` 是否存在
    return store.state.categories.some(category => category.id === params.id)
  }
}

您还可以在验证函数执行期间抛出预期或意外错误:

export default {
  async validate ({ params, store }) {
    // 使用自定义消息触发内部服务器500错误
    throw new Error(Under Construction!)
  }
}

唐伯虎点蚊香

前端小白,想各位学习!

Share
Published by
唐伯虎点蚊香

Recent Posts

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

4 天 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

2 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

2 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

2 周 ago

聊聊React和Vue组件更新的实现及区别

React 和 Vue 都是当…

3 周 ago