次の正規表現属性では、フィールドに何を入力してもエラーが発生します。これはクライアント側で発生しています。さらに、指定されたメッセージではなく、一般的なメッセージを表示しています。手伝ってくれますか?
パブリック クラス 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 の数字、および連続していないハイフンのみを含めることができます。アンダースコア。")]