Closed
Description
お世話になります、おのでらです。
実装されているかどうかが調べても分からなかったので要望として書かさせていただきます。(すでに実装されているのであればすみません)
ViewModel のプロパティを ReactiveProperty で実装しているのですが、値の検証に DataAnnotations を使用しています。その際、以下のようにエラーメッセージに名称部分を任意に設定したいと思っております。
[Required(ErrorMessage = "{0} は必須")]
[Display(Name = "Child Name")]
public ReactiveProperty<string> Name { get; set; }
ASP.NET MVC の場合は {0} の部分にプロパティ名、または Display 属性を指定していればその名称がメッセージに反映されるのですが、ReactiveProperty では「Value」と表示されてしまいます。
また、上記は文字列を直接入力していますが、Resx を使用したいので以下のように設定した場合でも複合書式指定を反映させたいです。
[Required(ErrorMessageResourceType=typeof(MyApp.Resources), ErrorMessageResourceName="Required")]
[Display(Name = "Name", ResourceType = typeof(MyApp.Resources))]
public ReactiveProperty<string> Name { get; set; }
ViewModel のコンストラクタで
NameValidate = Name.ObserveErrorChanged
.Select(x => x?.Cast<string>()?.FirstOrDefault())
.ToReadOnlyReactiveProperty();
の箇所をうまく調整すればいけるのではと思ったのですがどう記述すればスマートなのか分からなかったので公式の見解をいただきたいと思います。
よろしくお願いします。
Metadata
Metadata
Assignees
Labels
No labels