DataAnnotations必需属性复制到其他类

时间:2017-09-26 13:49:44

标签: asp.net-mvc data-annotations unobtrusive-validation

我有两个类似字段的类。在1课程中,其中一些字段是必需的,而在另一个字段中则不需要。

public class Hyun
{
    [DisplayName("Customer Name")]
    [Required(ErrorMessage = "Name is required")]
    [MaxLength(300, ErrorMessage = "Customer Name must be under 300 characters")]
    public string Name { get; set; }
}

同时,我也有(没有必需属性):

public class Chan
{
    [DisplayName("Customer Name")]
    [MaxLength(300, ErrorMessage = "Customer Name must be under 300 characters")]
    public string Name { get; set; }
}

使用内置的ASP.NET MVC为Chan创建模板,将所需的消息放在它从Hyun中的Name复制的Name字段中。在Hyun类中注释该行将其从Chan Create页面中删除。为什么属性会复制到另一个类?

请注意,除了这些之外还有其他类,并且必需属性是从名称字段中具有required属性的任何其他类复制。

以下是表格的相关部分:

@model Proj.Models.Chan

@using (Html.BeginForm()) 
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        <div class="form-group">
            @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
            </div>
        </div>
    </div>
}

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

0 个答案:

没有答案