1

asp.net MVC 3を使用する場合、テンプレートからインストールされるデフォルトWebサイトはAccountModelです。この中には、パスワードプロパティにはDataAnnotationがあり、StringLengthMinimumLengthが設定されています。AccountModelのパスワードの長さDataAnnotationをメンバーシッププロバイダのminRequiredPasswordLengthにリンクするにはどうすればよいですか?

ただし、.NETフレームワークメンバシッププロバイダ内でminRequiredPasswordLengthweb.configファイルで設定できます。

今、あなたはあなたのパスワードの長さは1文字だけであるならば、あなたが登録することができない、6を言う、まだ1にAccountModel.passwordMinimumLengthセットを持つようにminRequiredPasswordLengthを設定した場合。それ以外の場合は、minRequiredPasswordLengthが1で、MinimumLengthが6の場合は登録が許可されません。

私にとってこれは少し後ろです。アプリのインストールにパスワードの長さが必要ない場合は、モデルでこれを変更する必要があります。

DataAnnotationsは、私が読んだものから一定の値でなければならないので、これら2つをリンクする方法はありますか?理想的には、web.configの値を変更するだけで、プロジェクトの再構築について心配する必要はありません。

編集

私は、プロジェクトテンプレートは、実際にここでそれについてブログAccountModelweb.configから会員minRequiredPasswordLengthプロパティをリンクさDataAnnotationを含んこのよりその前MVC 3つのツールの更新を検討していた後に気づきました: http://timjames.me/mvc-3-password-length-dataannotation

答えて

1

短い答えはできないということです。 DataAnnotationsはアセンブリに静的にコンパイルされ、実行時には変更できません。

長さを調べるカスタムアノテーションを作成するか、リモート検証を使用してweb.configの値を検証することができます。しかし、これは標準のLength属性を使用しないでしょう。

+0

ありがとうございました。私は、これが.NET Frameworkのメンバーシップ・プロバイダにとって非常に重要な側面であることについて、私にとっては、プロジェクト・テンプレート内の最初からこのような優雅なソリューションがあると思っていました。 –

関連する問題