[英]ASP.Net Core MVC Disable validation when a specific button is pressed
[英]Disable validation for specific inputs in ASP .Net Core
在 ASP 上驗證表單時遇到問題。
我有 2 個模型 Person 和 Address。 他們每個人都有自己特定的 forms 以使用 EF Core 添加條目。
在 Person 表單中,我需要隱藏輸入來跟蹤潛在的 Address 相關數據(沒有 Address 也很好)。 就此而言,我使用隱藏的輸入字段,但因為地址 model 具有驗證注釋,生成的標記反映了它,在驗證時將 ModelState.IsValid 設置為 false,當然,除非我正在編輯具有有效地址數據的人。
我還嘗試在特定情況下將 Person.Address 設置為 null,它應該在實際檢查其值之前設置,但它不起作用。 到那時 ModelState 更新可能已經太遲了。
if (Person.Address is not null && Person.Address.Id == 0)
Person.Address = null;
if (ModelState.IsValid)
// Further code to save data in DB
else
// Code to redisplay the page
我想知道是否有辦法告訴 ASP 不要驗證/忽略特定的輸入字段但仍然允許我保留一段數據?
非常感謝你。
編輯:根據評論中的要求,我添加了帶有注釋的類
此人
public class Person
{
[Key]
public int Id { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
[Range(0, 150)]
public int Age { get; set; }
public Address Address { get; set; }
}
地址 class
public class Address
{
[Key]
public int Id { get; set; }
[Required, MaxLength(50)]
public string Street { get; set; }
[Required, MaxLength(50)]
public string City { get; set; }
[Required, MaxLength(50)]
public string Country { get; set; }
}
您可以跳過不想驗證的那些字段上的數據注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.