1

私のTitleIdFKプロパティがnullの場合、TitleOtherテキストフィールドが必須になる流暢な検証ルールを開発しようとしています。流暢な表現のいくつかの組み合わせと順序を試しましたが、すべて役に立ちませんでした。

これは私がこれまでに持っているものです。誰かがこのWhen部分を正しくするのを手伝ってくれれば、私は最も感謝し、もう少し教育を受けることができます.

context.RulesFor(p => p.TitleId).Required(p => p.Message("Title is required."));
context.RulesFor(p => p.TitleOther)
        .Required(p => p.Message("Please provide your other title."))
        .Length(0, 50, c => c.Message("Other title may not exceed 50 characters")
        .When(p => context.RulesFor(p => p.TitleId). *[what here?]*
4

2 に答える 2

0

Whenのプロジェクトで使用しましたFluent Validation。以下のようにパスワードを比較する1つの条件に使用しました。

RuleFor(u => u.Password).NotEmpty().WithMessage("Please Enter Password"); // Normal checked for non empty

When(u => !string.IsNullOrEmpty(u.Password) && !string.IsNullOrEmpty(u.ComfirmPassword), () =>
            {
                RuleFor(u => u.ComfirmPassword).Equal(x => x.Password).WithMessage("Password does not match");
            }); // For compare password

お役に立てば幸いです。

ありがとう。

于 2016-08-24T11:27:10.663 に答える
0

私はあまり使用していませんが、ドキュメントFluentValidationから理解していることから、あなたがする必要があるでしょう

.When(p => p.TitleId == null)

それ以外の.When(p => context.RulesFor(p => p.TitleId). *[what here?]*

于 2013-01-18T17:31:08.517 に答える