c# - MVC3 单选按钮验证

标签 c# javascript asp.net-mvc radio-button validation

我有一个关于单选按钮和检查的问题。

所以首先,在我的 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/

相关文章:

javascript - 如何在闭包中移动 DOM 元素

javascript - javascript 框架如何处理 304 未修改?

c# - 我应该在哪里找到 MVC Razor 中的共享@helper 函数

c# - .Net TraceSource/TraceListener 框架是否有类似于 log4net 的 Formatters 的东西?

c# - unity : how to let my variables show up in the inspector if a boolean is true, 并在 bool 值为 false 时隐藏它

c# - 静态方法不能实现接口(interface)方法,为什么?

javascript - 类型错误 : json[i] is undefined

asp.net-mvc - ASP.NET MVC 路由的性能

javascript - ASP.NET MVC 中不显眼的客户端验证仍然提交表单

c# - 如何在保持可读性的同时使用多个构造函数来删除重复代码?