首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现IValidatableObject?

如何实现IValidatableObject?
EN

Stack Overflow用户
提问于 2015-05-25 15:59:29
回答 1查看 480关注 0票数 1

我有3个文本框,主要的想法是,如果这些字段中的任何一个是空的,就会得到一个错误信息,但我不知道如何使用this...any帮助?

代码语言:javascript
复制
[Required]
public int? Day { get; set; }

[Required]
public int? Month { get; set; }

[Required]
public int? Year { get; set; }

public System.Collections.Generic.IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
    if (Day == null || Month == null || Year == null)
    {
        yield return new ValidationResult("*");
    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-05-26 13:34:25

试试这个,我希望下面的答案会对你有所帮助。

继承ValidationAttribute

代码语言:javascript
复制
public class SingleMessageValidation : ValidationAttribute
{
    public override bool IsValid(object obj)
    {
        DateValidation app = obj as DateValidation;
        if (app.Day == null || app.Month == null || app.Year == null)
        {
            ErrorMessage = "In valid date enter all fields";
            return false;
        }
        return true;
    }
}

模型

代码语言:javascript
复制
[SingleMessageValidation]
public class DateValidation
{
    public int? Day { get; set; }
    public int? Month { get; set; }
    public int? Year { get; set; }
}

视图

代码语言:javascript
复制
@model DateValidation

<h2>DateValidation</h2>
@using (Html.BeginForm())
{
    @Html.ValidationSummary()

    @:Day: @Html.TextBoxFor(x => x.Day)
    <br />
    @:Month: @Html.TextBoxFor(x => x.Month)
    <br />
    @:Year: @Html.TextBoxFor(x => x.Year)

    <input type="submit" value="Click" />
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30433660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档