如何将默认的 ASP.NET MVC 3 验证与标准会员资格提供程序一起使用?
我在 MVC 3 中看到的很酷的新的、不引人注目的 jquery 验证的每个示例都显示了一个自定义类(通常是 Person)。添加数据注释很简单,这确实显示了新的验证支持有多么酷。
但是,如果将其与默认 Web 模板中内置的默认会员系统一起使用呢?有人“破解”了不引人注目的验证吗?需要做什么?
Every example I see of the cool new unobtrusive jquery validation in MVC 3 shows a custom class (usually Person). Adding the data annotations to that is simple, which really does show how cool the new validation support is.
But what about using it with the default membership system that's built into the default web template? Anyone "hack" in the unobtrusive validation yet? What would need to be done?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
默认的 MVC3 Web 应用程序模板确实对帐户屏幕使用不显眼的验证,假设您取消注释 MasterPage 中的脚本元素(或直接将它们添加到视图中)。
例如,输入少于六个字符的密码并按 Tab 键进行密码确认会导致文本框旁边出现以下红色文本:
在确认框中输入不同的密码会导致:
这是因为他们为每个视图创建了特定的“视图模型”(如果您查看
\Models\
文件夹,您将看到AccountModels.cs
为每个视图提供合适的模型),而不是以前将字段显式添加到方法参数的方式。然后控制器将模型中的值传递到成员资格提供程序上的相关方法中。
The default MVC3 Web Application template does use unobtrusive validation for the account screens, assuming that you uncomment the script elements in the MasterPage (or add them to the views directly).
For example, entering a password of less than six characters and tabbing to the password confirmation resulted in the following red text appearing next to the text box:
Entering a different password into the confirmation box resulted in:
This is because they have created specific "view models" for each of the views (if you take a look in the
\Models\
folder, you'll seeAccountModels.cs
with suitable models for each view) rather than the previous way of explicitly adding the fields to the method parameters.The controller then passes the values from the models into the relevant methods on the membership provider.