我正在學習如何在 ASP.NET Core Razor Pages 中撰寫代碼,并且現在正在進行驗證。在客戶端和服務器端驗證中,即使我沒有使用 [Required] 資料注釋并且我正在尋找解決方案,也不允許輸入為空。該頁面的C#代碼如下:
public class IndexModel : PageModel
{
private readonly ILogger<IndexModel> _logger;
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
}
[BindProperty]
public int number { get; set; }
public void OnGet()
{
}
public IActionResult OnPost()
{
if(!ModelState.IsValid)
{
return Page();
}
Console.WriteLine("It works.");
return Page();
}
}
該頁面的 HTML 代碼如下:
<form method="post">
<label asp-for="@Model.number">Number: </label><br />
<input asp-for="@Model.number" />
<span asp-validation-for="@Model.number" class="text-danger"></span>
<br /><br />
<button class="btn btn-primary" type="submit">Submit</button>
</form>
@section Scripts
{
}
在 Scripts 部分中,我使用 partial 來加載 Validation Scripts Partial。當我將它粘貼到那里時,由于某種原因它不會作為代碼加載到那里。這只是一個簡單的代碼,旨在從用戶那里獲取一個整數,因為我只是想讓它接受一個空值。我正在使用 .NET 6.0 和 Visual Studio Community Edition 2022。有人知道該問題的解決方案嗎?提前致謝。
uj5u.com熱心網友回復:
因為該int型別不接受null值,為了解決你的問題,改代碼如下 接受null的數量為好
[BindProperty]
public int? number { get; set; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/462058.html
標籤:C# asp.net 核心 验证 剃刀页面 视觉工作室 2022
上一篇:OnSubmit帶有無效欄位和正確資料回傳的資料驗證
下一篇:Laravel驗證數字和連字符
