【发布时间】:2011-10-02 06:35:43
【问题描述】:
关于案例方案,我在网站上的登录/注册身份验证方面遇到了一些问题。
首先,我只是让输入字段的正则表达式只接受小写字母。似乎是最聪明的做法。但这可怕地适得其反。基本上,即使我输入文字You must use only lowercase letters,人们也不会阅读它,感到沮丧,然后就懒得注册了。
然后,为了解决这个问题,我修复了它,使正则表达式可以同时接受大写和小写值。当我将电子邮件地址存储在数据库中时,我只是将它们转换为小写。每个人似乎都开心了大约 8 秒。
但是,我现在发现自己不得不在多个地方执行此操作。它变得令人讨厌。我想知道是否有办法为我的 ViewModel 制作 DataAnnotation,比如 ..
class LoginViewModel {
[ConvertLowercase]
public string Email { get; set; }
/// ... other view model properties
}
这将始终确保该结果在到达我的控制器之前变为小写,从而使 ViewModel 的整个操作成为瓶颈,并使其远离将逻辑放入每个查询、请求和查找的冗余重复。
有什么建议吗?我已经研究过构建自己的自定义数据注释,但我只是在验证过程中设法理解它,而不是实际操作数据。
【问题讨论】:
标签: asp.net-mvc-3 data-annotations