0

カスタムの電子メール検証属性、私のコードを作成しています:

 public class EmailAttribute :  RegularExpressionAttribute
    {
        public EmailAttribute()
            : base("^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$")
        { }
    }

今、私はこの属性を次のような電子メール プロパティに配置します。

    [Required(ErrorMessage = "Required")]
    [Email(ErrorMessage = "Must be a valid Email")]
    public string Email { get; set; }

しかし、これは電子メールを検証していません。Required属性は正常に機能しますが、機能しEmailていません。誰か私に理由を説明してもらえますか?

4

2 に答える 2

1

正規表現を使用してbase()を呼び出すと、エラーメッセージが設定されます。基本クラスにRegularExpressionAttributeを使用するか、EmailAttributeクラスを削除してみてください。

于 2012-08-23T07:32:47.223 に答える
0

サーバー側の検証は正常に機能するはずです。クライアント側の検証について話していると思います。そのためにIClientValidatableは、カスタムの電子メール属性でインターフェースする必要があり、jquery アダプターを作成する必要もあります。

ここで例を見ることができます。

于 2012-08-23T09:44:52.280 に答える