剃刀页面PageModel验证不起作用

时间:2019-08-08 15:16:16

标签: c# asp.net-mvc validation razor

Razor UI验证根本不起作用。当我用空文本框发布帖子时,应该说此字段是必填字段,但只允许它通过。

尝试验证PageModel。

AddApplication.cshtml.cs

        [DataType(DataType.Text)]
        [BindProperty]
        public string appName{get;set;}

AddApplication.cshtml

<input type="text" asp-for="appName" placeholder="Enter Application Name" class="form-control" style="width:25%">
<span asp-validation-for="appName" class="text-danger"></span>

我已经在启动中包含了services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);,所以我不明白为什么它不起作用。

1 个答案:

答案 0 :(得分:0)

在您的getter和setter中,您需要声明appName是必需的,因此不能将其留空。

[Required(ErrorMessage = "App Name Is Needed")]
public string appName{get; set;}

如您所见,该名称可以保留为空白。有了它,它应该在提交后引发错误消息,提示需要应用名称。