0
我試圖在提交給服務器之前強制一個字段。爲此,我使用[必需的]數據註釋進行模型驗證。它如預期的那樣工作,字符串數據類型但不是雙。在json中找不到所需的屬性
由於某種原因,它不適用於double type屬性。 下面是我對模式代碼:
public class ProductMetadata
{
[Required]
public string Barcode { get; set; }
[StringLength(50)]
[Required(AllowEmptyStrings = false, ErrorMessage="Please insert the product name!")]
public string Name { get; set; }
[Range(0, 5000)]
public double ShippingCostPerUnit { get; set; }
[Range(0, 10000)]
public int QuantityForFreeShipping { get; set; }
public Nullable<int> CategoryId { get; set; }
public bool IsDeleted { get; set; }
[Range(0, 1000000)]
[Required(ErrorMessage="Please provide a unit price for the product!")]
public double UnitPrice { get; set; }
}
的響應體是一個JSON響應並沒有完成必填字段中有以下內容:
{
"Message":"The request is invalid.",
"ModelState":
{"product":["Required property 'UnitPrice' not found in JSON. Path '', line 1, position 33."],
"product.Barcode":["The Barcode field is required."],
"product.Name":["Please insert the product name!"]
}
}
我不不明白爲什麼工作正常名稱和條碼而不是單價。
編輯1:
如果我刪除[必需]屬性,我把其輸入爲單價 -1我收到相應的驗證消息,那麼爲什麼不工作的要求屬性?
編輯2:請求有效負載(也更新了ProductMetadata類):
{IsDelete: false, CategoryId: 1}
CategoryId: 1
IsDelete: false
任何幫助表示讚賞!謝謝!
你能分享你的請求有效載荷 - JSON嗎? – Paritosh
@Paritosh我編輯了這個問題 – sixfeet