0

私のアプリケーションはmvc 3にあります

私のビューには、A と B の 2 つの値をリストする ddlfor があります。同じビューにもう 1 つのフィールド email があり、ddl の選択された値が「A」の場合にのみ、この email フィールドを必須または必須フィールドにする必要があります。選択した値が「B」であるかどうかを検証する必要はありません。このシナリオを実装するにはどうすればよいですか。PLsssが助けてくれます

私のモデルでは、電子メールは必須フィールドです。それを変更する必要がありますか?それを変更すると、ddl 値に基づいて電子メールを必須にし、必須ではなくなりますか?

Plsは私にアドバイスします。前もってありがとう、プリヤ

4

2 に答える 2

1

JQueryでそれを行うことができます。Jquery でドロップ ダウンの値を確認し、「A」とメール フィールドが空の場合は false を返し、フォームが送信されないようにします。

サーバー側では、データ注釈を使用するのではなく、検証するカスタム メソッドを使用できます。

于 2013-10-24T12:37:02.053 に答える
0

IValidatableObject interface allows you to perform validation at model level :

public class MyModel : IValidatableObject
{
    public string Email { get; set; }
    public string SelectedValue { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        if (SelectedValue == "A" && string.IsNullOrEmpty(Email))
        {
            yield return new ValidationResult("Email address is required.", new [] { "Email" });
        }
    }
}

It will highlight Email field if your selected value in the dropdownlist is "A".

于 2013-10-24T14:13:23.467 に答える