相关疑难解决方法(0)

ASP.NET MVC条件验证

如何使用数据注释对模型进行条件验证?

例如,假设我们有以下模型(Person和Senior):

public class Person
{
    [Required(ErrorMessage = "*")]
    public string Name
    {
        get;
        set;
    }

    public bool IsSenior
    {
        get;
        set;
    }

    public Senior Senior
    {
        get;
        set;
    }
}

public class Senior
{
    [Required(ErrorMessage = "*")]//this should be conditional validation, based on the "IsSenior" value
    public string Description
    {
        get;
        set;
    }
}
Run Code Online (Sandbox Code Playgroud)

以下观点:

<%= Html.EditorFor(m => m.Name)%>
<%= Html.ValidationMessageFor(m => m.Name)%>

<%= Html.CheckBoxFor(m => m.IsSenior)%>
<%= Html.ValidationMessageFor(m => m.IsSenior)%>

<%= Html.CheckBoxFor(m => m.Senior.Description)%>
<%= Html.ValidationMessageFor(m => m.Senior.Description)%> …
Run Code Online (Sandbox Code Playgroud)

c# forms validation asp.net-mvc

122
推荐指数
7
解决办法
14万
查看次数

属性依赖于另一个字段

在我的ASP.NET MVC应用程序的模型中,我想仅在选中特定复选框时才根据需要验证文本框.

就像是

public bool retired {get, set};

[RequiredIf("retired",true)]
public string retirementAge {get, set};
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

谢谢.

validation asp.net-mvc annotations model

25
推荐指数
4
解决办法
4万
查看次数

ASP.net MVC条件验证

我正在开发一个需要条件验证的MVC页面.

当用户从下拉列表中选择国家/地区时,如果他们选择两个特定国家/地区中的一个,则会显示一个包含两个所需文本框的框.我希望验证在这种情况下激活,如果他们选择任何其他国家/地区,则隐藏该框并且将停用验证.

目前在我没有构建的站点上,有一个单独的验证类(继承自ValidationSet),它处理该控制器的所有验证,并且它们使用ValidatePresence,ValidateDecimal和ValidateExpression等命令进行验证,所以我想坚持这种格式以保持一致性.例如

new ValidatePresence("countryId") {ErrorMessageFormat = "Please supply a country for delivery to"}
Run Code Online (Sandbox Code Playgroud)

有人有任何想法吗?谢谢

c# asp.net-mvc

6
推荐指数
1
解决办法
643
查看次数

标签 统计

asp.net-mvc ×3

c# ×2

validation ×2

annotations ×1

forms ×1

model ×1