相关疑难解决方法(0)

属性依赖于另一个字段

在我的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万
查看次数

如何获取模型属性的id以与MVC3中的自定义IClientValidatable一起使用

我正在尝试编写一个自定义验证属性,该属性将有条件地要求基于模型的布尔属性的字段.

我有我的属性实现IClientValidatable.我有要检查的属性的名称,但我不知道如何获取目标属性的客户端ID.

public IEnumerable<ModelClientValidationRule> 
                        GetClientValidationRules(ModelMetadata metadata, 
                                                 ControllerContext context)
{
    var clientTarget = ?????;
    var rule = new ModelClientValidationRule()
    {
        ErrorMessage = 
            FormatErrorMessage(metadata.DisplayName ?? metadata.PropertyName),
        ValidationType = "requiredif"
    };

    rule.ValidationParameters["target"] = clientTarget;

    yield return rule;
}
Run Code Online (Sandbox Code Playgroud)

javascript:

$.validator.addMethod("requiredif", function (value, element, target)
{
    //check on value of target
});

$.validator.unobtrusive.adapters.addSingleVal("requiredif", "target");
Run Code Online (Sandbox Code Playgroud)

如何获取目标属性的客户端ID,以便客户端javascript可以检查值?

c# validation asp.net-mvc-3

3
推荐指数
1
解决办法
2236
查看次数

标签 统计

validation ×2

annotations ×1

asp.net-mvc ×1

asp.net-mvc-3 ×1

c# ×1

model ×1