我有一个关于单选按钮和检查的问题。
所以首先,在我的 View 部分,我有一个带有登录值的文本框。在这个文本框和提交按钮之间,我有 5 个单选按钮。这些 rb 中的每一个都引用了我的 ViewModel 中的一个属性。
所以这是代码。 我的 ViewModel 具有以下属性:
public class DeleteUAInfosViewModel
{
[Display(Name = "UserAccountDeleteInfos", ResourceType = typeof(UserAccountResources))]
public string UserLeave
{
get { return UserAccountResources.UserLeave; }
}
[Display(Name = "UserAccountDeleteInfos", ResourceType = typeof(UserAccountResources))]
public string UserTransfer
{
get { return UserAccountResources.UserTransfer; }
}
[Display(Name = "UserAccountDeleteInfos", ResourceType = typeof(UserAccountResources))]
public string UserDetachment
{
get { return UserAccountResources.UserDetachment; }
}
[Display(Name = "UserAccountDeleteInfos", ResourceType = typeof(UserAccountResources))]
public string UserRetirement
{
get { return UserAccountResources.UserRetirement; }
}
[Display(Name = "UserAccountDeleteInfos", ResourceType = typeof(UserAccountResources))]
public string UserStatus
{
get { return UserAccountResources.UserStatus; }
}
}
我链接 DeleteUAInfosViewModel 的 IndexViewModel:
public class IndexViewModel
{
[Display(Name = "DeleteUAInfos", ResourceType = typeof(UserAccountResources))]
public DeleteUAInfosViewModel DeleteUAInfosGroup { get; set; }
public IndexViewModel()
{
DeleteUAInfosGroup = new DeleteUAInfosViewModel();
}
...
}
我的带有 rb 声明的局部 View :
@model MyPath.UserAccount.DeleteUAInfosViewModel
<div id="UserDeleteInfosField">
<p>
@Html.RadioButton("RbDeleteGroup", Model.UserLeave)
@UserAccountResources.UserLeave
@Html.HiddenFor(x => x.UserLeave)
</p>
<br />
<p>
@Html.RadioButton("RbDeleteGroup", Model.UserTransfer)
@UserAccountResources.UserTransfer
@Html.HiddenFor(x => x.UserTransfer)
</p>
<br />
<p>
@Html.RadioButton("RbDeleteGroup", Model.UserDetachment)
@UserAccountResources.UserDetachment
@Html.HiddenFor(x => x.UserDetachment)
</p>
<br />
<p>
@Html.RadioButton("RbDeleteGroup", Model.UserRetirement)
@UserAccountResources.UserRetirement
@Html.HiddenFor(x => x.UserRetirement)
</p>
<br />
<p>
@Html.RadioButton("RbDeleteGroup", Model.UserStatus)
@UserAccountResources.UserStatus
@Html.HiddenFor(x => x.UserStatus)
</p>
</div>
我用这一行在另一个 View 中调用这个局部 View :
@Html.Partial("_DeleteUAInfos", Model.DeleteUAInfosGroup)
目前,我检查了登录名是否为空。
但现在我需要包括对单选按钮的检查。 示例:我想验证登录是否正确并且至少检查了一个 rb(并检索了值)。
换句话说:我想将单选按钮的检查与登录值的检查结合起来(在我的例子中,登录部分已经完成)。
那你能帮我吗?
提前致谢!
Ars_n
最佳答案
你所做的就是创建一个非常长的 bool 表达式,所以在验证你的登录的函数中添加
if(!radio1&&!radio2...&&!radion)
{
ModelState.AddModelError("HTMLModelComponentYouWantToValidate", "ErrorMessage");
}
然后在继续之前添加
if(ModelState.IsValid){...}
else{ return View();}
关于c# - MVC3 单选按钮验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13123859/