カスタムクライアント側バリデーターを作成したいが、ビジネスロジックレイヤーでデータ注釈属性を使ってバリデーションルールを定義したい。実行時にモデルの検証属性にアクセスするにはどうすればよいですか?モデルからデータアノテートを取得
私はこのコードを変換れる、 '発電機' を書きたい:
public class LoginModel
{
[Required]
[MinLength(3)]
public string UserName { get; set; }
[Required]
public string Password { get; set; }
}
1本に:
var loginViewModel= {
UserName: ko.observable().extend({ minLength: 3, required: true }),
Password: ko.observable().extend({ required: true })
};
でもない.csファイルのソースから、もちろん。 =)
多分反射ですか? MSDN:私はこの方法を見つけた
UPD
。しかし、それを使用する方法を理解することはできません。
はい、反射。ほかに何か? –
反射は常にオプションですが、ソースからこれを行うことを避けたい特定の理由はありますか? T4 + EnvDTEはここでは確固たる選択肢のようです。 – decPL
@HenkHolterman私はmvcのソースを読んで、この方法を見つけました:http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper.getunobtrusivevalidationattributes(v=vs.108).aspxそれを使用する方法を理解することはできません。おそらく誰かがリフレクションよりも良いアイデアを持っているでしょうか? =) – letalumil