2013-01-31 15 views
17

私のモデルではasp.net mvc4を使用していますが、私はMaxlength属性を使用していますが、文字列では機能しません。 Stringlengthだけ誰も同じ問題がありますか?どのように解決するかが問題だったら?それはここに私のフィールド を検証するために動作しません。私のコードは(動作しない)Asp.net mvc dataannotation MaxLength検証が機能しません

ある

[Required] 
[MaxLength(80)] 
[DisplayName("Contact Name:")] 
public string ContactName { get; set; } 

[StringLength(80)]に(作業)

[Required] 
[StringLength(80)] 
[DisplayName("Contact Name:")] 
public string ContactName { get; set; } 
+0

を確認する必要があります。 ContactNameのクラスを指定してください。 – Dom

+0

私はエラーが発生しているとは言いません。 – Garry

答えて

27

Entity Frameworkのができるかを知っているので、両方の属性は、Entity Frameworkの については、Microsoftの公式サイト[MaxLenth]属性を1としてSystem.ComponentModel.DataAnnotations名前空間

でありますあなたの場合のデータベース内の列の最大長(たとえば、varchar(80)

プロパティに許容される配列または文字列データの最大長を指定します。あなたの1つに記載の

http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.maxlengthattribute.aspx

あなたはそう[MaxLength(80)]

を動作しません。しかし、後者の場合には[StringLength(80)]があるため働いている @jackncoke と回答してEntity Frameworkのを使用していないと述べているコメントEntity Frameworkに依存することはありません。あなたは、エンティティフレームワークまたはそれ

は、データフィールドに許可されている文字の最小と最大の長さを指定せずに使用している場合

SO [StringLength(80)]は両方のケースで動作します。 MVC4のMaxLength、IN

http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.stringlengthattribute.aspx

5

[MaxLength(80)]の変化が、あなたはそれに私を打つように見えます!

あなたのいないこの問題の唯一の1

MaxLength Attribute not generating client-side validation attributes

+1

はい私はそれが[StringLength(80)]で動作することを知っていますが、私の質問はなぜ[MaxLength(80)]でないのですか?マイクロソフトにもaccoridngそれは有効なアトリビュートですが、あなたは答えのための最初の最初の男ですので+1 +1 – Garry

+0

Maxlengthはあなたのモデルのいずれかで動作しましたか?ジャックコック? – Garry

+1

私は古いプロジェクトを見ていただけで、いつもStringLengthを使ったことはありませんでした。だから、他の誰かがこの種の問題を抱えているかどうかをインターネットで調べています。私が探しているように人々がそれを使用するのを見ました。 – jackncoke

3

が正しくWORKD、私はエラーを取得しておりませんそれを

public class RegisterModel 
{ 
    [Required] 
    [Display(Name = "User name")] 
    [MaxLength(5)] //MaxLength worked properly. 
    public string UserName { get; set; } 

    [Required] 
    [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] 
    [DataType(DataType.Password)] 
    [Display(Name = "Password")] 
    public string Password { get; set; } 

    [DataType(DataType.Password)] 
    [Display(Name = "Confirm password")] 
    [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] 
    public string ConfirmPassword { get; set; } 
} 

enter image description here

+1

どのバージョンのEntity-あなたは使っていますか? – Pamma

関連する問題