より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

ReactivePropertyでプロパティ以外の値も使って複雑な検証をしたい

検索すると、ValidationAttributeを宣言する方法などが出てくるのですが

もっと複雑な値の検証がしたいんだけど!

ってなって、探しました。

searchcode.com

public Hoge { get; set; } = new ReactiveProperty<bool>();

のように宣言して、以下のように

            Hoge
                .SetValidateAttribute(() => Hoge)
                .SetValidateNotifyError((b =>
            {
                if (!b) return null;
               // プロパティの値以外で判定する
                if (foo == "foo")
                {
                    return null;
                }
                return "fooじゃないです";
            }));