我对这个问题做了一些研究,但没有什么东西接近我的困难。在不需要(可为空)的字段上需要的消息错误
这里是我的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,我应该在那里检查。就在那里,罪魁祸首是用一个恶魔般的笑脸看着我。我为这个新手错误和我的惩罚感到抱歉,我会关闭这个问题并将其标记为已回答,并留在这里让大家嘲笑我,以防万一另一名新手也有同样的问题。我仍然不明白为什么我的其他可空布尔值工作,虽然他们处于相同的情况,虽然...
– Woshooo
您是否在服务器端验证之后获得该消息?或者在您提交数据之前?向我们展示使用'IsActif'的表单和控制器操作。 – Jasen
@Woshooo?!?我很抱歉,我不明白你的意思。我不希望这个字段是必需的。 –