我正在开发一个大型的MVC3 Web应用程序,并对该ModelState.IsValid方法感到烦恼.
几乎所有的控制器都使用ModelState,以验证发布的数据.视图都基于包含不同类的ViewModel,这些类显然包含可以标记为的属性[Required].
我遇到的问题是有时不需要所需的属性,我必须使用该ModelState.Remove方法才能ModelState.IsValid成为现实.
我的问题是使用ModelState.Remove,这是正确的做事方式还是更有效的方法.
我有一个强类型视图,它有一个DropDownListFor属性.
下拉列表中的每个项目都由GUID表示.
我所追求的是一种验证用户是否从下拉列表中选择项目的方法.目前我还没有看到使用数据注释做这件事.
无论如何使用数据注释实现这一点,因此客户端和服务器端验证将起作用.
我猜我需要制作一个自定义方法来做到这一点但是想知道是否已经存在任何东西.
我已经建立了自定义成员资格提供程序并实现了我需要的方法.我现在需要添加一个自己的自定义方法来处理密码.
我添加了一个新方法,但我无法在代码中的任何地方使用它.是否可以向我的自定义成员资格提供程序添加方法,还是在其他地方完成?
我正在创建自己的自定义authorize属性,覆盖AuthorizeCore方法,并想知道是否可以访问已传递到authorize属性标记的角色.
所以,例如,如果我有这个:
[CustomAuthorize(Roles = "Administrator, Sales, Entry")]
Run Code Online (Sandbox Code Playgroud)
是否可以从这里访问这些:
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
}
Run Code Online (Sandbox Code Playgroud)
然后我可以拆分字符串并创建一个数组.