我不确定是否重复问题,但我没有得到正确答案的确切答案
我有强烈打字的视图,我从模型
绑定//Model
[Required]
public string sample { get; set; }
public bool isAllowed { get; set; }
允许唯一特定的用户组根据isAllowed属性
编辑样本//View
if (Model.isAllowed)
{
@Html.EditorFor(model => model.sample)
}
所以现在必需的字段在允许用户的情况下工作,但在其他部分验证火灾中出现了我的问题。
如何处理此问题并禁用其他用户组的必填字段?
或者MVC在为这种情况创建我的视图时是否有任何标准?
答案 0 :(得分:0)
如果我正确理解了这个问题,如果isAllowed为false,你可以将它渲染为隐藏属性,所以你的代码应该是这样的
if (Model.isAllowed)
{
@Html.EditorFor(model => model.sample)
}
else
{
@Html.HiddenFor(model => model.sample)
}
答案 1 :(得分:0)
您正在寻找RequiredIf验证属性。你可以从这里开始:
http://blogs.msdn.com/b/simonince/archive/2010/06/04/conditional-validation-in-mvc.aspx
然后,如果你也想要客户端验证,你可以看看:
此处也提出了类似的问题: