[英]Optional Validation for Change Password in ASP.NET MVC
我有以下型号
public AccountInfo {
// loads of other property here as well.
public string Password { get; set; }
public string NewPassword { get; set; }
[Compare("NewPassword", ErrorMessage = "New Passwords dont match.")]
public string ConfirmNewPassword { get; set; }
}
我正在使用数据注释来显示客户端验证消息。
现在,我正在“更改用户个人资料详细信息”页面上。
我需要做的是,连同其他详细信息,例如电子邮件,全名,地址等,我必须显示3个字段,即
现在的场景是这些是可选字段,用户可能无法填写。 但是,当他这样做时, 我要确保所有3个字段都已填写。 ,如果不是,我想使用数据注释显示一些验证错误。
有什么想法吗 ?
对此没有任何内置数据注释。 您可以创建自定义属性来进行验证,但这并不容易。 因此,我建议您使用Jquery Validation / Javascript处理此问题。
基本上,您将要覆盖Submit事件并在其中执行自己的验证逻辑。 您的代码将与此类似:
function SubmitToServer() {
if ($('#Password').length == 0 || ($('#Password').length > 0 && $('#NewPassword ').length > 1 && $(formId).valid()) {
$(formId).submit();
}
}
您可以使用[Required]
告诉RAZOR,这些是必须的或强制性的。
[Required]
public string Password { get; set; }
[Required]
public string NewPassword { get; set; }
[Required]
[Compare("NewPassword", ErrorMessage = "New Passwords dont match.")]
public string ConfirmNewPassword { get; set; }
如果要提供值的范围,则表示使用此值- [Range(1, 100)]
如果要使用密码长度,请使用此密码- [StringLength(5)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.