rak*_*los 3 c# model-view-controller asp.net-mvc
我有两个字段:
名
姓
并且只需要其中之一。但如果两者都被省略,我希望两个字段都突出显示。如果填写其中之一,则模型没问题,表格应该提交。
如何才能做到这一点?
所有复杂的验证都从您从IValidatableObject继承的视图模型开始。然后您覆盖Validate并输入您自己的验证规则。
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
if (String.IsNullOrWhiteSpace(FirstName) && String.IsNullOrWhiteSpace(LastName))
{
yield return new ValidationResult("A name must be entered.", new string[] { "FirstName", "LastName" });
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,这仅确保此规则的服务器端验证。如果您希望它在客户端,您需要编写自己的 JavaScript / jQuery 代码来处理验证。
你可以使用这个库,它会帮助你做这样的事情
[RequiredIf("PropertyValidationDependsOn", true)]
public string PropertyToValidate { get; set; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4401 次 |
| 最近记录: |