如何用mustache.js验证胡子模板?

问题描述 投票:1回答:2

我正在使用模块ejs来验证来自管理仪表板的ejs模板和变量:

try {
  resolve(ejs.render(template, variables))
} catch (error) {
  reject(error)
}

如果此模板存在一些问题,则会抛出错误,我可以将其发送给客户端。

另外,我有一个胡须模板来验证。我使用相同的方法:

try {
  resolve(mustache.render(template, variables))
} catch (error) {
  reject(error)
}

mustache根本不会抛出错误,如果没有变量,它只是用空字符串替换它。

我该如何解决这个问题?需要正确验证模板。

javascript node.js validation mustache
2个回答
1
投票

我在图书馆的fork找到了一个解决方案。感谢Scott,它的工作原理应该如此。


0
投票

如果您正在使用mustache.js,则无法在未定义的变量here is an open issue上抛出错误。根据Mustache specification,这看起来很好。

默认情况下,变量“miss”返回空字符串。这通常可以在您的Mustache库中配置。

因此,如果您确实需要验证没有未定义的变量,那么您将不得不为Mustache使用另一个JS库(如果有的话,我不确定),或者希望他们添加该功能。

© www.soinside.com 2019 - 2024. All rights reserved.