2
votes

I want to make checkboxes optional, whether to be checked or not. But when I add a checkbox on my view it will make unobtrusive validation to be stopped. But when I remove the checkbox from my view, unobtrusive validations works fine. What's the problem ? I am adding checkbox like this:

@Html.CheckBoxFor(model => model.features.safetyfeature.Airbag)

All the model values are correct.

1
Same problem here. I noticed that by default, it adds the data-val-required and data-val attributes to the checkbox by default. When those are there, the problems you describe happen. When I remove them using the inspector, the form validates as desired. In summary, it looks like CheckBoxFor adds the required attributes automatically.tjans

1 Answers

1
votes

I had exactly this problem & posted a question here. Currently I don't have a solution to the problem, but I did find a workaround. Instead of using Html.CheckBoxFor I used Html.CheckBox like so:

@Html.CheckBox("Employee.Active")

I gave it the same name as the CheckBoxFor that was created by the razor view. This is now working as I expected but I consider it a workaround rather that a solution, and I have no idea what's actually causing the problem!