如何检查车把中的空字符串,空格或空格?

时间:2016-09-29 09:29:18

标签: c# asp.net .net handlebars.js template-engine

我需要检查空值,空字符串和仅包含空格的字符串,并用" No Content"替换它们。

我试过了,但它只适用于null和空字符串,不适用于只有空格的字符串。

{{#if value}}
    {{value}}
{{else}}
    <p>No Content</p>
{{/if}}

怎么做?助手是唯一的选择吗?

2 个答案:

答案 0 :(得分:0)

这是一个有用的助手。

Handlebars.registerHelper('check', function(value, comparator) {
    return (value === comparator) ? 'No content' : value;
});

测试模板

{{#check value ""}}
  {{this}}
{{/check}}

{{#check value null}}
  {{this}}
{{/check}}

{{#check value undefined}}
  {{this}}
{{/check}}

答案 1 :(得分:0)

正如您在问题中提到的那样,即使JavaScript中仅包含空格字符,长度也为非零的字符串还是Truthy。这就是为什么一串空格字符将与模板中的join大小写匹配并呈现值而不是呈现val program: IO[Unit] = (app, longRunningOperation).parTupled.void 大小写的原因。

由于您的特殊情况是您只想将空白字符的字符串与空trigger: - main pr: - main - releases/* pool: vmImage: 'ubuntu-20.04' container: adoptopenjdk:latest steps: - script: ./gradlew check {{if value}}相同,因此您需要创建一个自定义的Handlebars Helper。

您可以在助手中进行评估的一种方法是使用Regular Expression删除所有空白字符,然后检查结果的长度。助手看起来像:

{{else}}

我创建了一个fiddle供参考。