2017-04-12 60 views
0

我對這個問題做了一些研究,但沒有什麼東西接近我的困難。在不需要(可爲空)的字段上需要的消息錯誤

這裏是我的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) 
); 

正如你所看到的,IsActif爲空。

這裏是我的Departement.cs的一部分:

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

再次,一切都是正常空。

這裏是我的元數據的一部分(用於在數據庫更新不鬆動的註釋):

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

儘管如此,性質的可空力,沒有 [必填]! (如果有人想知道什麼是UIHint:它連接到DisplayTemplate,它只是很好地顯示了我的位值)。

只是爲了好奇,因爲我覺得我的問題不會完整,如果我不把所有的東西放在這裏。這裏是我的Ui提示:

@model Nullable<bool> 

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

它清楚地表明,如果模型有價值ON可空!

但是,這是我所得到的,當試圖創建一個新的部門: which means 'the field IsActif is required.'

有人有一個想法是怎麼回事?我所有其他可空的布爾運算完美無缺。是否有我忘記看的地方?下一步是什麼? 如果有人有一個想法,請讓我知道。我確實讓我的電腦做這項工作,但我現在要吃了。

在此先感謝。

編輯

過失:Oooooooooh,所以我想死。我只是意識到我正在使用ViewModel,我應該在那裏檢查。就在那裏,罪魁禍首是用一個惡魔般的笑臉看着我。我爲這個新手錯誤和我的懲罰感到抱歉,我會關閉這個問題並將其標記爲已回答,並留在這裏讓大家嘲笑我,以防萬一另一名新手也有同樣的問題。我仍然不明白爲什麼我的其他可空布爾值工作,雖然他們處於相同的情況,雖然...

+0

Woshooo

+0

您是否在服務器端驗證之後獲得該消息?或者在您提交數據之前?向我們展示使用'IsActif'的表單和控制器操作。 – Jasen

+0

@Woshooo?!?我很抱歉,我不明白你的意思。我不希望這個字段是必需的。 –

回答

0

只要去看看我的編輯。我在這裏重複它太可恥了。無論如何,感謝那些花時間添加評論的人,尤其是Jasen。

在大:

EmployeViewModel 以前

public bool IsActif { get; set; } 

EmployeViewModel

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

現在我必須隱藏自己在地毯下面。