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>
什麼可能是錯誤/缺少在這裏?