1

使用asp.net MVC 3時,從模板安裝的默認網站有AccountModel。其中,密碼屬性有DataAnnotation,這裏設置了StringLengthMinimumLength如何將AccountModel密碼長度DataAnnotation與成員資格提供者minRequiredPasswordLength關聯?

但是,在.NET Framework成員資格提供程序中,您可以通過web.config文件設置minRequiredPasswordLength。現在

如果你設置minRequiredPasswordLength說6,但有AccountModel.passwordMinimumLength設置爲1,那麼你就不能,如果你的密碼是長度僅1字符註冊。相反,minRequiredPasswordLength是1,MinimumLength是6將不允許註冊。

所以對我來說這有點落後。如果應用程序的安裝不需要更長的密碼長度,那麼您必須在模型中更改此密碼。

DataAnnotations必須是我讀過的常數值,那麼有沒有辦法將這兩者聯繫起來?理想情況下,我只想更改web.config中的值,而不必擔心重建項目。

編輯

我尋找到這更是預MVC 3種工具更新後發現,該項目模板實際上包含該鏈接從web.config成員minRequiredPasswordLength屬性的AccountModel 在博客在這裏一DataAnnotation: http://timjames.me/mvc-3-password-length-dataannotation

回答

1

簡短的答案是,你不能。 DataAnnotations靜態編譯到程序集中,並且不能在運行時更改。

您可以創建一個自定義註釋來查找長度,或者使用遠程驗證來根據web.config中的值進行驗證。但是這不會使用標準的長度屬性。

+0

謝謝。我一直認爲從項目模板開始就會有一個優雅的解決方案,對我來說這是.NET框架成員資格提供者的一個非常重要的方面。 – 2012-02-15 08:48:01

相關問題