0
我遇到了使用[Compare-attribute]验证2个文本框的问题。即使他们是相同的客户端验证说他们是不同的。MVC比较不起作用
在我editmodel我:
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[DataType(DataType.Password)]
[Compare("Password", ErrorMessage = "Password not matching")]
public string ConfirmPassword { get; set; }
鉴于:
<tr>
<td class="editor-label">
@Html.LabelFor(model => model.User.Password):
</td>
<td class="editor-field">
@Html.EditorFor(model => model.User.Password)
@Html.ValidationMessageFor(model => model.User.Password)
</td>
</tr>
<tr>
<td class="editor-label">
@Html.LabelFor(model => model.User.ConfirmPassword):
</td>
<td class="editor-field">
@Html.EditorFor(model => model.User.ConfirmPassword)
@Html.ValidationMessageFor(model => model.User.ConfirmPassword)
</td>
</tr>
文本框被渲染为:
<input class="text-box single-line password" data-val="true"
data-val-required="Password missing" id="User_Password"
name="User.Password" type="password" value="" />
<input class="text-box single-line password" data-val="true"
data-val-equalto="Password not matching"
data-val-equalto-other="*.Password" id="User_ConfirmPassword"
name="User.ConfirmPassword" type="password" value="" />
<span class="field-validation-valid" data-valmsg-for="User.ConfirmPassword"
data-valmsg-replace="true"></span>
什么可能是错误/缺少在这里?