何か変なことが起こっています。MVC 3クライアント側の比較検証
私は基本的な形式を持っている:
<% using (Html.BeginForm())
{ %>
<%: Html.LabelFor(model => model.user.email) %>
<%: Html.TextBoxFor(model => model.user.email) %>
<%: Html.ValidationMessageFor(model => model.user.email) %>
<br />
<%: Html.LabelFor(model => model.user.password) %>
<%: Html.PasswordFor(model => model.user.password) %>
<%: Html.ValidationMessageFor(model => model.user.password) %>
<br />
<%: Html.LabelFor(model => model.user.confirmPassword) %>
<%: Html.PasswordFor(model => model.user.confirmPassword) %>
<%: Html.ValidationMessageFor(model => model.user.confirmPassword) %>
<br />
<input type="submit" value="Submit" />
<% } %>
頭には、次のものがあります。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<link rel="Stylesheet" type="text/css" href="/Content/Site.css" />
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
ViewModelにはこれです:常にパスワードとconfirmPassword間の検証を比較
public class RegisterViewModel
{
public RegisterUser user { get; set; }
}
public class RegisterUser
{
[Required]
[Display(Name = "Email Address")]
public string email { get; set; }
[Required]
[Display(Name = "Password")]
public string password { get; set; }
[Required]
[Display(Name = "Confirm Password")]
[Compare("password")]
public string confirmPassword { get; set; }
}
は言う:
'パスワードの確認'と 'パスワード'が一致しません。
私は、彼らが
と一致しないことがわかっている場合でも、ここで奇妙な部分です:私は、ビューページから最初のフィールドを削除すると、すべての作品が。
それだけで
<% using (Html.BeginForm())
{ %>
<%: Html.LabelFor(model => model.user.password) %>
<%: Html.PasswordFor(model => model.user.password) %>
<%: Html.ValidationMessageFor(model => model.user.password) %>
<br />
<%: Html.LabelFor(model => model.user.confirmPassword) %>
<%: Html.PasswordFor(model => model.user.confirmPassword) %>
<%: Html.ValidationMessageFor(model => model.user.confirmPassword) %>
<br />
<input type="submit" value="Submit" />
<% } %>
だときだから、すべてが完璧に動作します。
アイデア?
ありがとうございました。
あなたは達成しようとしていることを詳しく教えてください。 – saarthak
@ Calvin、私はRazorと同じ問題があります。どうやら、データの検証はパスワードフィールドに一致しています:* .Passwordは、RegisterUser.PasswordではなくRegisterUserのすべてのインスタンスに一致しています。 –