private static IDictionary<string, object> CreateBindAttribute<TModel, TProperty>(Expression<Func<TModel, TProperty>> expression)
{
string exp = ExpressionHelper.GetExpressionText(expression);
var htmlAttributes = new Dictionary<string, object>();
// knockout uses data-bind to bind the UI to the viewModels
htmlAttributes.Add("data-bind", "value: " + exp + ", uniqueName: true");
return htmlAttributes;
}
public static MvcHtmlString KoPasswordFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
{
//return htmlHelper.PasswordFor(expression, CreateBindAttribute(expression));
return htmlHelper.PasswordFor(expression,);
}
Le code ci-dessus met en évidence mon problème. J'ai un helper knockoutJS html qui ajoute l'attribut 'data-bind' au balisage. Cependant, je trouve que les messages de validation sur le terrain ne fonctionnent pas.L'utilisation des aides html MVC3 casse les messages de validation
Si je commente la surcharge qui rend l'attribut bind, alors les messages de validation s'affichent ok. Notez que la validation fonctionne toujours avec la ligne commentée, mais le texte de validation ci-dessous ne s'affiche pas.
Quelqu'un peut-il confirmer ce comportement et si oui comment le réparer?
, tout des idées? – jaffa