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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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