# Setting the field invisible on multiple condition using state

**URL:** <https://discuss.tryton.org/t/setting-the-field-invisible-on-multiple-condition-using-state/3820>\
**Category:** Developer\
**Created:** [February 17, 2021, 4:25pm UTC](https://discuss.tryton.org/t/setting-the-field-invisible-on-multiple-condition-using-state/3820 "2021-02-17T16:25:43Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![deathrake](https://discuss-cdn.tryton.org/letter_avatar_proxy/v4/letter/d/b487fb/32.png) [@deathrake](https://discuss.tryton.org/u/deathrake)\
**Post date:** [February 17, 2021, 4:25pm UTC](https://discuss.tryton.org/t/setting-the-field-invisible-on-multiple-condition-using-state/3820/1 "2021-02-17T16:25:43Z")

</div>

Hello  
i am trying to show a image field when a particular value is selected

```
    test_name = fields.Selection([
    ('dft', 'DFT'),
    ('adhesion', 'Adhesion Test'),
    ('color', 'Color'),
    ('visual', 'Visual'),
    
    ], "Test Name")

image = fields.Binary('Image', states = {'invisible': Eval('test_name') != 'dft' or Eval('test_name') != 'adhesion' })

```

i tried the above code but it does not seems to work

any heads up where am i doing it wrong ?

---

<div class="post-metadata">

**Author:** ![dave](https://discuss-cdn.tryton.org/letter_avatar_proxy/v4/letter/d/ee7513/32.png) [@dave](https://discuss.tryton.org/u/dave)\
**Post date:** [February 17, 2021, 5:36pm UTC](https://discuss.tryton.org/t/setting-the-field-invisible-on-multiple-condition-using-state/3820/2 "2021-02-17T17:36:20Z")

</div>

> [@deathrake](#):
>
> `image = fields.Binary('Image', states = {'invisible': Eval('test_name') != 'dft' or Eval('test_name') != 'adhesion' })`

In the PYSON expression I think you need to use a `|` instead of `or`.

However, I still don’t think that will work because it looks like your expression will always evaluate to true, so you might want to use `and` instead of `or` and you do this with the `&` operator.

---

<div class="post-metadata">

**Author:** ![udono](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/udono/32/2114_2.png) [@udono](https://discuss.tryton.org/u/udono)\
**Post date:** [February 17, 2021, 6:05pm UTC](https://discuss.tryton.org/t/setting-the-field-invisible-on-multiple-condition-using-state/3820/3 "2021-02-17T18:05:03Z")

</div>

> [@deathrake](#):
>
> ```auto
> image = fields.Binary('Image', states = {'invisible': Eval('test_name') != 'dft' or Eval('test_name') != 'adhesion' })
> 
> ```

… and

- you should add [`depends=['test_name']`](https://docs.tryton.org/projects/server/en/latest/ref/models/fields.html#trytond.model.fields.Field.depends)
- you could use the [In](https://docs.tryton.org/projects/server/en/latest/ref/pyson.html#trytond.pyson.In) operator like this `~Eval('test_name').In_(['dft', 'adhesion'])`
