simsen Juniormester
16. januar 2021 - 17:29 Der er 4 kommentarer og
1 løsning

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>
arne_v Ekspert
16. januar 2021 - 18:14 #1
Vildt gaet:

[Display(Name = "Department")]
public int DepartmentId { get; set; }

->

[Display(Name = "Department")]
public int? DepartmentId { get; set; }
simsen Juniormester
16. januar 2021 - 20:11 #2
Det hjalp desværre ikke :-)
Syska Juniormester
16. januar 2021 - 22:02 #3
Hvad ændrede du den til?
simsen Juniormester
17. januar 2021 - 15:42 #4
Hej Syska
Jeg forstår ikke lige, hvad du spørger om?

Jeg forsøgte mig med Arnes skud, og det hjalp desværre ikke. Så lige nu står jeg i samme situation.
Syska Juniormester
17. januar 2021 - 18:05 #5
Har du brugt "int?" eller "int" ?

Altså nullable eller not null int?

Hvis int, så er 0 jo sat, da det er en value ... Så du skal bruge "int?"
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Coloplasts it-direktør: GDPR har givet de it-kriminelle et nyt værktøj til at angribe os
Interview: Det er ikke kun på plads og kapacitet, at sundhedssektoren lige nu er udfordret. De sikkerhedsansvarlige har også fået en del mere at se til gennem et kaotisk 2020. "Cyberkriminelle har opdaget, at der er en hel masse værdi i denne her datatype. Enten som afpresningsmulighed eller som viden, de kan udnytte til noget," siger CIO i Coloplast, René Rasmussen. Læs første artikel i serien om perspektiver fra sektoren, der er de it-kriminelles nye guldkalv
Computerworld
Bill Gates har en løsning: Sådan undgår vi klimakatastrofen
Klumme: Bill Gates vil gerne redde verden. Intet mindre. Og som alle store it-folk regner han baglæns. Politikerne er mest optaget af, hvad der kan lade sig gøre, og hvad de kan skabe flertal for. Men Bill Gates har set på klimakatastrofen, og hans budskab er klart.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
IBM Danmark trækker tilbud om frivillige fratrædelser tilbage for stort antal ansatte: "IBM har taget røven på sine ansatte"
Som led i IBM Danmarks store fyringsrunde fik 130 ansatte grønt lys til at forlade selskabet på en frivillig fratrædelsesordning. Men nu har IBM Danmark trukket det oprindelige tilbud tilbage for størstedelen af de ansatte.
White paper
Gør dine medarbejdere til et aktiv i sikkerhedsarbejdet
Vi glemmer hurtigt gode råd og sikkerhedskurser. Men sådan behøver det ikke at være. Moderne træning, opfølgning og simulationer skaber en sikkerhedsorienteret kultur, som minimerer risikoen for, at din virksomhed rammes af ødelæggende cyberangreb.