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