1

次の正規表現属性では、フィールドに何を入力してもエラーが発生します。これはクライアント側で発生しています。さらに、指定されたメッセージではなく、一般的なメッセージを表示しています。手伝ってくれますか?

パブリック クラス RegisterModel

{

    [Required]

    [StringLength(63, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]

    [RegularExpression(@"/^[a-z\d]+([-_][a-z\d]+)*$/i",ErrorMessage="The Site Name can only contain letters from a-z (no accents), numbers from 0-9 and non consecutive hyphens or underscores.")]

    [Display(Name = "Site Name")]

    public string UserName { get; set; }

}

次の異なる正規表現が機能するため、\d の組み合わせが C# のエスケープ文字であるため、式自体または @ (文字列リテラル) 文字に問題があるはずです。

RegularExpression("^[a-zA-Z][a-zA-Z0-9]+", ErrorMessage = "サイト名には a ~ z の文字 (アクセントなし)、0 ~ 9 の数字、および連続していないハイフンのみを含めることができます。アンダースコア。")]

4

1 に答える 1

0

以下はうまくいくようです。

[RegularExpression(@"^(a-z0-9{0,61}[a-z0-9]|[a-z0-9])$", ErrorMessage = "サイト名には az からの文字のみを含めることができます (noアクセント)、0 ~ 9 の数字、連続していないハイフンまたはアンダースコア。")]

于 2012-09-05T13:59:10.060 に答える