2016-08-02 11 views
0

モデル:MVCかみそりのパスワードに必要なフィールドの問題

[StringLength (50 , ErrorMessage = "Password: Exceeds Size")] 
public string Password 
{ 
    get; 
    set; 
} 

ビュー:これは私のモデルである&ビューが、パスワードフィールドが編集モードに移入されていない

@Html.LabelFor(m => m.Password) 
@Html.PasswordFor(m => m.Password) 
    @{ Html.ValidateFor(m => m.Password); } 

(すなわち、セキュリティの問題のために、このパスワードフィールドにDBからのパスワード値を割り当てることができませんでした。しかし、控えめなjavascript検証はうまくいきました。私たちは編集の問題があるので、私はグーグルで私は以下のようにビューを置き換えるためのソリューションを得た。

@Html.LabelFor(m => m.Password) 
<input type="password" name="Password" id="Password" value="@Model.Password" /> 
@{ Html.ValidateFor(m => m.Password); } 

しかし、これは私の必要とされた検証セットをモデルに上げません。また、data-valプロパティがバインドされていないため、このパスワードフィールドでは邪魔にならないJS検証が機能していないことが判明しました。

他のすべての検証は正常に動作します。この問題の解決策はありますか?

+1

'@ Html.TextBoxFor(m => m.Password、new {type =" password "})'を使用します。しかし、 'PasswordFor()'が値を設定しない理由があります(セキュリティ上の理由から、パスワードを渡すのを最小限に抑える必要があります)。 –

+0

ありがとう、これは私の問題を解決します。これは管理者にのみ与えられ、暗号化されているためです。私は解決策を先に進めることができます。 – pvaju896

+0

可能な複製[Repopulate html.passwordFor](http://stackoverflow.com/questions/9491655/repopulate-html-passwordfor) – Liam

答えて

0
@Html.TextBoxFor(m => m.Password, new { type = "password" }) 

しかし、これは管理者のみのために与えられ、それが暗号化されているので、PasswordForは()

(セキュリティ上の理由から、あなたの周りのパスワードを渡す最小限に抑える必要がある)の値を設定しない理由があります。私はこのソリューションを使用することができます。

+0

どのような解決策ですか?これはあなたの問題と事実上同じコードのようです? – Liam

関連する問題