Required opfører sig mærkeligt
Hej,Jeg har oprettet en partial class og her har jeg sat required på de forskellige felter.
Når jeg kører siden, og ikke udfylder noget i felterne, kommer den frem og fortæller mig, at felterne skal være udfyldt. Altså på nær én felterne nemlig Department.
Når jeg så udfylder alle felter på nær Department (og klikker på knappen igen), så kommer den endelig frem og fortæller at department skal være udfyldt.
Så mit spørgsmål lyder, hvorfor opfører den sig anderledes end f.eks. den anden dropdownlist gender?
Den partial class som VS har oprettet:
namespace Part025EntityFramework.Models
{
using System;
using System.Collections.Generic;
public partial class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public string City { get; set; }
public string Gender { get; set; }
public Nullable<int> DepartmentId { get; set; }
public Nullable<System.DateTime> DateOfBirth { get; set; }
public virtual Department Department { get; set; }
}
}
Den Partial class jeg har udfyldt:
namespace Part025EntityFramework.Models
{
[MetadataType(typeof(EmployeeMetaData))]
public partial class Employee
{
}
public class EmployeeMetaData
{
[Required]
public string Name { get; set; }
[Required]
public string City { get; set; }
[Required]
public System.DateTime? DateOfBirth { get; set; }
[Required]
public string Gender { get; set; }
[Required]
[Display(Name = "Department")]
public int DepartmentId { get; set; }
}
}
Og så en del af min create side, hvor de to dropdowns vises:
<div class="form-group">
@Html.LabelFor(model => model.Gender, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("Gender", new List<SelectListItem>
{
new SelectListItem {Text = "Male", Value="Male"},
new SelectListItem {Text = "Female", Value="Female"}
}, "Select Gender")
@Html.ValidationMessageFor(model => model.Gender, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.DepartmentId, "Department", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("DepartmentId", "Select Department")
@Html.ValidationMessageFor(model => model.DepartmentId, "", new { @class = "text-danger" })
</div>
</div>