Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于自动获取fred的ValidationMessage_C#_Validation_Asp.net Mvc 5_Unobtrusive Javascript - Fatal编程技术网

C# 用于自动获取fred的ValidationMessage

C# 用于自动获取fred的ValidationMessage,c#,validation,asp.net-mvc-5,unobtrusive-javascript,C#,Validation,Asp.net Mvc 5,Unobtrusive Javascript,我有一个actionmethodresetpassword类型为get,返回一个视图。从actionlink按钮调用该方法。我向这个视图传递了一个用户obj。现在,当我单击actionlink时,它会转到视图,但由于我已经应用了validationfor,当加载视图时,验证会自动触发。这是因为我正在将用户的obj传递给视图吗。?如果是这种情况,那么我如何才能关闭该操作方法的HttpGet验证,因为我只想加载输入,当用户开始填充输入时,应该只触发验证 行动方法 [ValidateInput(fal

我有一个
actionmethod
resetpassword
类型为get,返回一个视图。从
actionlink
按钮调用该方法。我向这个视图传递了一个用户obj。现在,当我单击actionlink时,它会转到视图,但由于我已经应用了
validationfor
,当加载视图时,验证会自动触发。这是因为我正在将用户的obj传递给视图吗。?如果是这种情况,那么我如何才能关闭该操作方法的
HttpGet
验证,因为我只想加载输入,当用户开始填充输入时,应该只触发验证

行动方法

[ValidateInput(false)]
[HttpGet]
[ActionName("ResetPassword")]
public ActionResult ResetPassword(UserBE user)
{
  user.Email = TempData["userEmail"].ToString();
  return View(user);
}
看法

模型


我刚刚在布局中添加了以下内容,效果很好

@Scripts.Render("~/bundles/jqueryval")

@Html.ActionLink(“重置密码”、“重置密码”)
没有向
公共操作结果重置密码(UserBE user)
传递任何信息,只需删除参数并在method@StephenMuecke例如我做到了。现在我没有得到自动验证,但是现在第二个输入密码没有得到验证。如果我将其留空,它不会给出任何验证错误消息。对不起,我不明白-这将与您的POST方法关联,而不是GET方法。你可以发布你的方法和模型,显示你有哪些验证属性吗applied@StephenMuecke:请查看我的编辑。无法发现验证消息不显示的原因,但如果(!ModelState.IsValid){return View(user);},则POST方法应以
开头
因此,在您尝试更新视图之前,将返回视图以更正错误。此外,属性
ConfirmedPassword
上的错误消息也混杂在一起,这意味着您在查看脚本时遇到了问题。请确保删除问题中指出的内容
<h3>@Html.ActionLink("Reset Password", "ResetPassword")
[HttpPost]
[ActionName("ResetPassword")]
public ActionResult ResetPasswordPost(UserBE user)
{
  user = UserBL.AuthenticateUser(user);
  if (!user.AuthenticUser || (user.Password==user.NewPassword))
  {
    return View(user);
  }
  else
  {
    return UserBL.ResetPassword(user)?View("LoginSuccessful",user):View(user);
  }              
}
[Required(ErrorMessage = "Password is required")]
public string Password { get; set; }

private bool authenticUser = false;
public bool AuthenticUser 
{
  get { return authenticUser; } 
  set { authenticUser = value; }
}

[Required(ErrorMessage = "Password is required")]
public string NewPassword { get; set; }

[Required(ErrorMessage = "Confirm passord and NewPassWord does not match")]
[Compare("NewPassword")]
public string ConfirmedPassword { get; set; }
@Scripts.Render("~/bundles/jqueryval")