不需要(可为空)字段时所需的消息错误

时间:2017-04-12 16:56:52

标签: asp.net-mvc database

我对这个问题进行了一些研究,但是没有接近我的困难。

这是我的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,它只是很好地呈现了我的位值。)

只是为了好奇的人,因为如果我不把所有东西放在这里,我觉得我的问题不会完整。这是我的UiHint:

@model Nullable<bool>

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

它清楚地说明模型是否具有值Nullable !!!

但这是我尝试创建新部门时得到的结果: which means 'the field IsActif is required.'

有人知道发生了什么事吗?我所有其他可以为空的布尔效果都很好。我有忘了看的地方吗?下一步是什么? 如果有人有想法,请告诉我。我确实宠爱我的电脑来完成这项工作,但我现在就要吃了它。

提前致谢。

修改

Mea Culpa:Oooooooooh,我很想死。我刚刚意识到我正在使用ViewModel,我应该检查一下。就在那里,罪魁祸首用恶魔般的窃笑看着我。我很抱歉这个新手的错误,为了我的惩罚,我会关闭这个问题并将其标记为已回答并留在这里让每个人都嘲笑我,以防其他新手有同样的问题。我仍然不明白为什么我的其他可空布尔值工作,虽然它们处于相同的情况,但是......

1 个答案:

答案 0 :(得分:0)

去看看我的编辑。我在这里重复它太可耻了。非常感谢那些花时间添加评论的人,特别是Jasen。

大:

前的EmployeViewModel

public bool IsActif { get; set; }

后的EmployeViewModel

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

现在我只能把自己隐藏在地毯下。