我对单选按钮和检查有疑问。

因此,首先,在我的视图部分,我有一个带有登录值的文本框。在此文本框和“提交”按钮之间,我有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的声明:

@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>


我将此行称为另一视图中的部分视图:

@Html.Partial("_DeleteUAInfos", Model.DeleteUAInfosGroup)


目前,我检查了登录名是否为null或为空。

但是现在我需要包括对单选按钮的检查。
示例:我想验证登录名是否正确,并且至少检查了一个rb(并检索了该值)。

换句话说:我想将单选按钮的检查与登录值的检查集成在一起(在我的情况下,登录部分已经完成)。

那你能帮我吗?

提前致谢 !

Ars_n

最佳答案

好吧,您要做的就是创建一个实际上很长的布尔表达式,因此在用于验证登录名的函数中添加

if(!radio1&&!radio2...&&!radion)
{
    ModelState.AddModelError("HTMLModelComponentYouWantToValidate", "ErrorMessage");
}


然后在继续添加之前

if(ModelState.IsValid){...}
else{ return View();}

关于c# - MVC3单选按钮验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13123859/

10-11 12:34
查看更多