I work on a asp.net mvc project with the durandal template + breeze.
I would like to define validation logic on my view for adding/editing operations.
So far
Just stumbled into this one as well and after some trial and error I found the following:
The validation breaks down because the optionsCaption uses undefined as a value.
Your model apparently uses '' (in my case it was null) Since null != undefined it somehow all breaks down.
Knowing this, there are two solutions:
When you say "clear the dropdown", how can an option be not picked when there are only three options. Could you make the first dropdown item "Choose an item..." so that you know there will always be one item. If the dropdown index is 0, then show your red error message.
Another option would be to show the red error message if the selectedindex is 0 or the itemcount is 0.
Does that help?
Finally I get it working by adding an element with empty id in my categories list:
var categories = [
{ id: '', description: '--Choose--' },
{ id: 1, description: 'Non classé' },
{ id: 2, description: 'Non nucléaire' },
{ id: 3, description: 'Classe II irradié' },
{ id: 4, description: 'Classe III' }];
I don't know why but simply adding optionsCaption: '--Choose--' don't work for the validation. I mean this element is displayed in my dropdown but the validation process don't consider it as a validation error.
I explicitely had to add an element to my list. Then when this element is selected in my dropdown it is marked as red.