我遇到了这个问题,我的API资源(View Model)的数据类型如XHR.abort()
或int
。在我的Angular App中,我使用的是long
,在初始化之后,所有控件的值均为reactive forms
。
即
null
,JSON输出
this.patientRestrationForm = this.formBuilder.group({
patientFileId: new FormControl(null),.......
在我的API控制器中,此{ "patientFileId": null}
被识别为null
,因此模型无法通过验证检查,
string
这是资源模型的快照,
if (!ModelState.IsValid) {
return StatusCode (400, ModelState);
};
此处还有一个问题,public class SavePatientsRegistryResource {
[Display (Name = "Patient File Id")]
public long PatientFileId { get; set; }
......
}
除ModelState
以外的datatypes
错误始终为空。
我在这里缺少什么?,
在保存数据之前,我应该在资源模型和string
下游的所有属性中使用string
datatype
吗?
谢谢。
答案 0 :(得分:1)
使用可空类型,即按以下方式更改您的属性
{{1}}
参考
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/nullable-types/
How can I allow nulls to be accepted by my WebAPI model?
进一步的Nullable类型具有hasvalue等属性,因此您应该能够识别是否传递了null或API上的实际值,以便解决您的问题。
希望这有帮助。