2

2 つの別々のページを 1 つにリファクタリングし、ビュー モデルもマージしました。

現在、私のプロジェクトでは、ログイン フォームと登録フォームがタブ付きビューの同じページにあります。

私が抱えている問題は検証にあります。最初のフォームには必須の 2 つのフィールドがあり、もう 1 つのフォームには、同じく必須の他の 2 つのフィールドがあります。最初のフォームを投稿すると、他の 2 つのフィールドの検証が失敗します。

IValidatableObject を試してみましたが、次のようなことはできません。

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        if (PostPackOrigin == "LoginForm")
        {
            if(Username == "")
             yield return new ValidationResult("Username missing");
            if(Password == "")
             yield return new ValidationResult("Password missing");
        }
        if (PostPackOrigin == "RegistrationForm")
        {
            if(Name == "")
             yield return new ValidationResult("Name missing");
            if(Email == "")
             yield return new ValidationResult("Email missing");
        }
    }

またはそのようなもの。ポストバックの発信元をどのように検出できますか、または検証を処理する別の方法はありますか?

どうもありがとう

4

0 に答える 0