重现步骤:
ErrorMessage指定RegisterViewModel的内容ConfirmPassword.它是"密码和确认密码不匹配.".看起来ErrorMessage属性上的自定义属性Compare不起作用.即使我指定了ErrorMessage,验证仍会显示某种默认消息.
这项工作System.Web.Mvc.CompareAttribute,但现在已弃用,你应该使用System.ComponentModel.DataAnnotations.CompareAttribute,这显示了这个问题.
我将Compare属性添加到属性并指定ErrorMessage如下:
[Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match. I'll even add some random text!")]
public string ConfirmPassword { get; set; }
Run Code Online (Sandbox Code Playgroud)
预期的结果将是(但这不是我得到的):

相反,我得到这个"默认"错误消息:

客户端验证已禁用.我错过了什么吗?此示例取自MVC 5模板,其中个人用户帐户作为身份验证.
我有下面的模型规则(),但它不起作用.它始终显示错误消息.
public function rules()
{
return [
[['start_date','end_date'], 'date', 'format' => 'php:F d Y'],
['start_date','compare','compareAttribute'=>'end_date','operator'=>'<'],
['end_date','compare','compareAttribute'=>'start_date','operator'=>'>'],
];
}
Run Code Online (Sandbox Code Playgroud)