# Validation on select inputs

**URL:** <https://discourse.aurelia.io/t/validation-on-select-inputs/5285>\
**Category:** vNext\
**Created:** [October 31, 2023, 10:35am UTC](https://discourse.aurelia.io/t/validation-on-select-inputs/5285 "2023-10-31T10:35:03Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ivan](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/ivan/32/2022_2.png) [@ivan](https://discourse.aurelia.io/u/ivan)\
**Post date:** [October 31, 2023, 10:35am UTC](https://discourse.aurelia.io/t/validation-on-select-inputs/5285/1 "2023-10-31T10:35:03Z")

</div>

I have something like this:

```auto
inputs = {
    make: {
      options: [...],
      value: '-1'
    },
    model: {
      options: [...],
      value: '-1'
    }
}

```

```auto
validationRules
.on(this.inputs.make)
   .ensure('value')
      .required()
      .satisfies(value => value !== '-1')
.on(this.inputs.model)
  .ensure('value')
     .required()
     .satisfies(value => value !== '-1')

```

```auto
<div repeat.for="input of inputs | keys">
  <select value.bind="inputs[input].value & validate" >
    <option repeat.for="option of inputs[input].options" value.bind="option.value">
      ${option.text}
    </option> 
  </select>
</div>

```

They when the user click a button this is called:

```auto
async validate() {
    const result = await this.validationController.validate()
    
    if (result.valid) {
      console.log('Yeahhh')
    }
}

```

However, the rules don’t seem to get applied and the result is always valid. Any thoughts?

---

<div class="post-metadata">

**Author:** ![ivan](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/ivan/32/2022_2.png) [@ivan](https://discourse.aurelia.io/u/ivan)\
**Post date:** [October 31, 2023, 10:57am UTC](https://discourse.aurelia.io/t/validation-on-select-inputs/5285/2 "2023-10-31T10:57:40Z")

</div>

I think it’s due to this:

> [@ivan](#):
>
> `<div repeat.for="input of inputs | keys">`

If I add in:

```auto
<select class="form-select" value.bind="inputs.make.val & validate">
    <option repeat.for="option of inputs.make.options" value.bind="option.value">
      ${option.text}
    </option>
</select>

```

Then validation seems to be working.

---

<div class="post-metadata">

**Author:** ![Sayan751](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.aurelia.io/sayan751/32/1861_2.png) [@Sayan751](https://discourse.aurelia.io/u/Sayan751)\
**Post date:** [October 31, 2023, 7:12pm UTC](https://discourse.aurelia.io/t/validation-on-select-inputs/5285/3 "2023-10-31T19:12:28Z")

</div>

Note that this is not yet supported. There is already an issue for this: [Validation triggering not working on dynamically accessed props · Issue #1623 · aurelia/aurelia · GitHub](https://github.com/aurelia/aurelia/issues/1623).
