我真的很困惑.我在ASP.NET Core 2上有一个Razor页面,它具有一个必需的属性SchemaId.我试着将其标记为[Required],[BindRequired],和[Required(AllowEmptyStrings = false)],但是当我发表我的形式,我看到SchemaId的null,但ModelState.IsValid == true.这是Upload.cshtml.cs:
namespace Uploader.Pages
{
public class UploadModel : PageModel
{
private IUploader _uploader;
public UploadModel(IUploader uploader)
{
_uploader = uploader;
}
[BindProperty]
public IEnumerable<IFormFile> UploadedFiles { get; set; }
[Required(AllowEmptyStrings = false)]
[BindProperty]
[BindRequired]
public string SchemaId { get; set; }
public void OnGet(string schemaId = null)
{
SchemaId = schemaId;
}
public async Task<IActionResult> OnPostAsync()
{
// …Run Code Online (Sandbox Code Playgroud)