Skip to main content
Svelte 基础
介绍
响应式
属性
逻辑
事件
绑定
类和样式
Actions
过渡动画
Svelte 进阶
高级响应性
复用内容
Motion
高级绑定
高级过渡效果
Context API
特殊元素
<script module>
后续步骤
SvelteKit 基础
介绍
路由
加载数据
请求头和 Cookie
共享模块
表单
API 路由
$app/state
错误和重定向
SvelteKit 进阶
钩子函数
页面选项
链接选项
高级路由
高级加载
环境变量
结论

为了防止路由器匹配无效输入,你可以指定一个匹配器。例如,你可能希望像 /colors/[value] 这样的路由能匹配类似 /colors/ff3e00 这样的十六进制值,但不匹配像 /colors/octarine 这样的颜色名称或任何其他任意输入。

首先,创建一个名为 src/params/hex.js 的新文件,并从中导出一个 match 函数:

src/params/hex
export function match(value) {
	return /^[0-9a-f]{6}$/.test(value);
}

然后,要使用这个新的匹配器,将 src/routes/colors/[color] 重命名为 src/routes/colors/[color=hex]

现在,当有人导航到该路由时,SvelteKit 将验证 color 是否是有效的 hex 值。如果不是,SvelteKit 将尝试匹配其他路由,最终返回 404。

匹配器在服务端和浏览器端都会运行。

在 GitHub 编辑此页面

上一页 下一页
1
2
<h1>color picker</h1>