226

I have a statement like this:

{{#if IsValid}}

I want to know how I can use a negative if statement that would look like that:

{{#if not IsValid}}

6 Answers 6

513

Simple answers for simple questions:

{{#unless isValid}}
{{/unless}}

Also keep in mind that you can insert an {{else}} in between an {{#if}} or {{#unless}} and the closing tag.

Sign up to request clarification or add additional context in comments.

3 Comments

Thanks, I think that they should named it {{#ifnot flag}} instead of {{#unless flag}}.
@FabioCaccamo The original implementor(s) were/are Rubyist(s), where unless is a fairly common inversion of if.
Simple (but unintuitive) answers for simple questions.
58

You have many ways of doing that.

1. Use {{unless}}:

{{#unless isValid}}
  ...
{{else}}
  ...
{{/unless}}

2. Use inline-if helper:

{{#if (if isValid false true)}}
  ...
{{else}}
  ...
{{/if}}

3. Use ember-truth-helpers addon:

{{#if (not isValid)}}
  ...
{{else}}
  ...
{{/if}}

1 Comment

Found quite useful to use in next way: {{input type="text" ... disabled=(not someProperty) ...}}
9

it can be done in multiple ways.

1 use unless

{{#unless IsValid}}
<Your Code>
{{/unless}}

2.use if else

{{#if IsValid}}
{{else}}
<Your Code>
{{/if}}

3.use not helper

{{#if (not IsValid)}}
<Your Code>
{{/if}}

Comments

3

unless block helper (built-in helper)

unless helper is the inverse of the if helper.

Its block will be rendered if the expression returns a falsy value.

  {{#unless valid}}
  <h3 class="warning">WARNING</h3>
  {{/unless}}

Comments

1
{{#if items.length}}
    //Render
{{/if}}

Here items.length .. if it returns some value except null, then only it will enters into the if loop.

NOTE : You can check Boolean values also. In If block

{{#if booleanFloag}}

Comments

1

Below Statements Will help full if you want to use if and else :

{{#if author}}
    <h1>{{firstName}} {{lastName}}</h1>
{{else}}
    <h1>Unknown Author</h1>
{{/if}}

NOTE : Dont close the if Block until logic finished ...

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.