使用asp.net MVC 3时,从模板安装的默认网站有AccountModel
。在此范围内,密码属性有DataAnnotation
个,此处MinimumLength
的{{1}}已设置。
但是,在.NET框架成员资格提供程序中,您可以通过StringLength
文件设置minRequiredPasswordLength
。
现在,如果您要将web.config
设置为6,但将minRequiredPasswordLength
AccountModel.password
设置为1,那么如果您的密码仅为1,则无法注册字符的长度。相反,MinimumLength
为1,而minRequiredPasswordLength
为6则不允许注册。
所以对我来说这有点倒退。如果应用程序的安装不需要更长的密码长度,那么您必须在模型中更改它。
MinimumLength
必须是我读过的常量值,所以有没有办法将这两者联系起来?理想情况下,我只想更改DataAnnotations
中的值,而不必担心重建项目。
修改
我注意到更多Pre MVC 3工具更新后,项目模板实际上包含一个DataAnnotation,它将web.config
的成员资格minRequiredPasswordLength
属性链接到web.config
在此处发表了博客:http://timjames.me/mvc-3-password-length-dataannotation
答案 0 :(得分:1)
简短的回答是,你不能。 DataAnnotations静态编译到程序集中,不能在运行时更改。
您可以创建一个查找长度的自定义注释,或使用远程验证来验证web.config中的值。但这不会使用标准的Length属性。