If you look at the output going ports for when a values changes:
valueChangedHandlerSingleSelect
valueChangedHandlerMultiSelectSelect
the JavaScript is doing a little bit of work to find out if there are any invalid values. The Elm already knows this and it should just tell the JavaScript. Probably by including it, in the outgoing port's data.