4

私は単純な強く型付けされたビューを持っています。

@model GoldForGold.Models.LogonModel
@{
    ViewBag.Title = "Logins";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

Logins
@using (Html.BeginForm()) {

Account Information
@Html.LabelFor(m => m.UserName)
@Html.TextBoxFor(m => m.UserName, new { id = "txtUserName" })
@Html.ValidationMessageFor(m => m.UserName)
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password, new { id = "txtPassword" })
@Html.ValidationMessageFor(m => m.Password)
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe)

<input type="submit" value="Log On" onclick="getcredentials()" />
}

モデルコードはこちら。

public class LogonModel
{
    [Required(ErrorMessage="please enter username")]
    [Display(Name = "User name")]
    public string UserName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Display(Name = "Remember me?")]
    public bool RememberMe { get; set; }
}

ユーザー名とパスワードを入力しなくても何も起きていません。

4

7 に答える 7

35

完全なソリューションは次のとおりです。

  1. 次のスクリプトをビューに追加します。

    <script src='@Url.Content("~/Scripts/jquery-1.8.2.js")' type='text/javascript'></script>    
    <script src='@Url.Content("~/Scripts/jquery.validate.js")' type='text/javascript'>         </script>
    <script src='@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")' type='text/javascript'></script>
    
  2. Web.Config で検証を有効にします。

    <appSettings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    </appSettings>
    
  3. ビューに検証要素を追加します。

    @Html.ValidationMessageFor(model => model.UserName)
    
  4. モデルの要素に Required 属性を追加します。

    [Required(ErrorMessage="please enter username")]
    public string UserName { get; set; }
    
于 2014-02-11T08:01:22.627 に答える
9

クライアント側の検証には、jquery と jquery の検証が必要です。

その後、構成でクライアント側の検証を有効にする必要があります。

<appSettings> 
...
<add key="ClientValidationEnabled" value="true" /> 
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> 

サーバー側の検証では、次の方法で検証状態を確認できます。

ModelState.IsValid;
于 2013-11-01T20:17:17.160 に答える
-3
  • 解決の手順:

1- 表示するスクリプトを追加します。

<script src='@Url.Content("~/Scripts/jquery-1.8.2.js")' type='text/javascript'></script>       
<script src='@Url.Content("~/Scripts/jquery.validate.js")' type='text/javascript'>         
</script>
<script src='@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")' type='text/javascript'></script>

2- Web.Config で検証を有効にします。

<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

3- ビューに検証 HTML ヘルパーを追加します。

@Html.ValidationMessageFor(model => model.UserName)

4- モデルの要素に Required 属性を追加します。

[Required(ErrorMessage="please enter username")]
public string UserName { get; set; }
于 2016-02-12T13:20:23.887 に答える