Problème validation client pour radiobutton avec bool nullable
Hello à tous :)
J'ai remarqué un truc particulier, au moment de la validation côté client sous MVC 3, seul le premier radiobutton est mis en rouge.
J'ai fait le code
Code:
1 2 3 4 5 6 7 8 9
|
@using (Html.BeginForm("Index", "Home"))
{
@Html.RadioButtonFor(m => m.IsDone, true, new { id = "testyes" });
@Html.RadioButtonFor(m => m.IsDone, false, new { id = "testno" });
<input type="submit" value="OK" />
} |
Par contre si je désactive la validation client, les deux options sont bien en rouge suite à la validation serveur.
J'ai même "magouillé" en faisant le code suivant juste après le premier radiobutton.
Code:
1 2 3 4 5 6 7 8 9
|
System.Web.Mvc.ViewContext c = this.ViewContext;
var contextform = c.FormContext;
Expression<Func<TestModel, bool?>> expression = m => m.IsDone;
var name = ExpressionHelper.GetExpressionText(expression);
contextform.RenderedField(name, false); |
Ce qui a permis de mettre les attributs html5 de validation sur mon deuxième radiobutton.
Code:
1 2 3 4 5 6
|
<input data-val="true" data-val-required="nooooo" id="testyes" name="IsDone" type="radio" value="True" />
<input data-val="true" data-val-required="nooooo" id="testno" name="IsDone" type="radio" value="False" /> |
Mais encore la classe css d'erreur de validation ne s'affiche pas.
En attendant j'ai utilisé JQuery pour rectifier (à savoir mettre en rouge en cas d'erreur si le premier radiobutton, et enlever dans le cas contraire).
Merci pour toute aide!
IRNBRU