2017-04-12 2 views
0

Ich habe einige Nachforschungen über dieses Problem, aber NICHTS nähert sich MY Schwierigkeit.Erforderliche Nachricht Fehler auf nicht erforderlich (Nullwert) Feld

Hier ist meine SQL:

CREATE TABLE [dbo].[Departement] (
[IdDepartement] INT   IDENTITY (1, 1) NOT NULL, 
[Description] NVARCHAR (255) NOT NULL, 
[IsActif]  BIT   NULL, 
PRIMARY KEY CLUSTERED ([IdDepartement] ASC) 
); 

Wie Sie sehen können, IsActif ist null.

Hier ist ein Teil meiner Departement.cs:

public Nullable<bool> IsActif { get; set; } 

Wieder einmal ist alles normal nullable.

Hier ist ein Teil meiner Metadaten (für nicht die Anmerkungen zu verlieren, wenn die Datenbank aktualisiert wird):

[UIHint("YesNo")] 
public Nullable<bool> IsActif { get; set; } 

Noch eine Nullable-Kraft der Natur, ohne [Erforderlich]! (Wenn sich jemand wundert, was ein UIHint ist: Er ist mit einem DisplayTemplate verbunden und stellt nur meinen Bitwert schön dar).

Nur für die Neugierigen, weil ich denke, dass meine Frage nicht vollständig sein wird, wenn ich nicht alles hier hineinlege. Hier ist meine UiHint:

@model Nullable<bool> 

@if (Model.HasValue) 
{ 
    if (Model.Value) 
    { <text>Oui</text> } 
    else 
    { <text>Non</text> } 
} 
else 
{ <text>Indéfini</text> } 

Es gibt deutlich, wenn Modell hat Wert ON Nullable !!!

Aber das ist, was ich bekommen, wenn ein Versuch eine neue Abteilung zu erstellen: which means 'the field IsActif is required.'

Jemand hat eine Idee, was los ist? Alle meine anderen nullbaren Booleans funktionieren perfekt. Gibt es einen Ort, an den ich vergessen habe? Was ist der nächste Schritt? Wenn jemand eine Idee hat, lass es mich wissen. Ich habe meinen Computer gestreichelt, um diese Arbeit zu machen, aber ich werde es jetzt essen.

Vielen Dank im Voraus.

bearbeiten

Mea Culpa: Oooooooooh, möchte ich so sterben. Ich habe gerade festgestellt, dass ich ein ViewModel verwende und ich sollte es dort überprüfen. Und da war es, der Täter sah mich mit einem teuflischen Kichern an. Es tut mir leid für diesen Anfängerfehler und für meine Bestrafung werde ich diese Frage schließen und sie als beantwortet markieren und es hier lassen, damit alle über mich lachen und nur für den Fall, dass ein anderer Neuling das gleiche Problem hat. Ich verstehe immer noch nicht, warum meine anderen nullable boolean arbeiteten, während sie in der gleichen Situation waren, obwohl ...

+0

Woshooo

+0

Erhalten Sie diese Nachricht nach der serverseitigen Validierung? Oder bevor Sie die Daten übermitteln? Zeigen Sie uns die Formular- und Controller-Aktion, die 'IsActif' verwendet. – Jasen

+0

@Woshooo?!? Es tut mir leid, ich verstehe nicht, was du meinst. Ich möchte nicht, dass dieses Feld benötigt wird. –

Antwort

0

Gehen Sie einfach meine Edit zu sehen. Ich bin zu beschämend, um es hier zu wiederholen. Danke jedenfalls an diejenigen, die sich Zeit genommen haben, Kommentare hinzuzufügen, besonders Jasen.

In groß:

EmployeViewModel vor:

public bool IsActif { get; set; } 

EmployeViewModel nach:

public Nullable<bool> IsActif { get; set; } 

Jetzt muss ich mich nur unter einem Teppich verstecken.

Verwandte Themen