C# 页面加载后立即显示字段验证错误,但应在提交表单后显示

C# 页面加载后立即显示字段验证错误,但应在提交表单后显示,c#,asp.net-mvc,asp.net-mvc-5,C#,Asp.net Mvc,Asp.net Mvc 5,因此,我的模型中有: [Required] public string PasswordLoserFullName { get; set; } 在我的@使用(Html.BeginForm中,我是这样使用它的: <div class="form-group"> @Html.LabelFor(m => m.PasswordLoserFullName, "Name", new { @class = "control-label col-xs-2" })

因此,我的模型中有:

[Required]
public string PasswordLoserFullName { get; set; }
在我的@
使用(Html.BeginForm
中,我是这样使用它的:

    <div class="form-group">
        @Html.LabelFor(m => m.PasswordLoserFullName, "Name", new { @class = "control-label col-xs-2" })
        <div class="col-xs-6">
            @Html.TextBoxFor(m => m.PasswordLoserFullName, new { @class = "form-control"})
            @Html.ValidationMessageFor(m => m.PasswordLoserFullName)
        </div>
    </div>

@LabelFor(m=>m.PasswordLoserFullName,“Name”,新的{@class=“controllabel col-xs-2”})
@TextBoxFor(m=>m.PasswordLoserFullName,新的{@class=“form control”})
@Html.ValidationMessageFor(m=>m.PasswordLoserFullName)
问题是,页面加载后会显示错误消息。是的,表单刚加载,没有人键入任何内容。我希望在用户单击“提交”按钮时显示。而不是在页面加载后立即显示

我做错了什么

我希望它在用户单击提交按钮时显示。而不是 一旦页面加载


然后,它是一个调用的
GET
方法,for GET方法根本不传递模型,只显示页面。for
POST
方法传递模型并执行验证。

呈现此视图的操作方法是什么样子的,您尝试了什么?请参阅,等等。GET方法中没有参数od,即模型。如果需要将值传递给GET方法,请使用参数
string
等,然后在GET方法中使用这些值初始化模型。嗯,好的,我明白你的意思。但即使在操作方法的GET部分,对于要加载的请求密码表单,我仍然有一些字段要显示lues来自模型,因此必须通过模型,现在我在加载页面时在字段中为该模型添加了一些虚拟值,但它仍然显示错误。@Bohn,使用
[RequiredValidation]
属性并将其设置为
false
因为
GET
方法实际上不需要验证。嗯,我在该属性的顶部添加了这个,它说找不到这样的东西:([RequiredValidation=false],如何使用它?好的,这一个有效:将“ModelState.Clear()”添加到GET部分。