med*_*eda 6 validation asp.net-mvc requiredfieldvalidator
我有一对单选按钮列表(是/否):
Q1.(Y)(N)
Q2.(Y)(N)
Q3.(Y)(N)
Q4.(Y)(N)
Run Code Online (Sandbox Code Playgroud)
我的模型中有一个属性
public string MedicalExplanation { get; set; }
我的目标是如果任何单选按钮设置为true,则需要解释.
我的第一次尝试是使用,[Required]但它不处理条件.
然后我决定使用像MVC Foolproof Validation这样的第三方工具我用它如下:
[RequiredIf("Q1", true, ErrorMessage = "You must explain any \"Yes\" answers!")]
现在问题是如果检查了其他Q2,Q3,Q4中的任何一个,我不知道如何使它成为必需.
请指教
ata*_*ati 15
在您的ViewModel中,创建一个bool propery,如下所示:
public bool IsMedicalExplanationRequired
{
get
{
return Q1 || Q2 || Q3 || Q4;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,使用您的RequiredIf属性,如下所示:
[RequiredIf("IsMedicalExplanationRequired", true, ErrorMessage = "You must explain any \"Yes\" answers!")]
Run Code Online (Sandbox Code Playgroud)
更新:
如果您的Q1-Q4属性属于类型bool?,只需更改IsMedicalExplanationRequired属性,如下所示:
public bool IsMedicalExplanationRequired
{
get
{
return Q1.GetValueOrDefault() || Q2.GetValueOrDefault() || Q3.GetValueOrDefault() || Q4.GetValueOrDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6962 次 |
| 最近记录: |