1

私は、スキャフォールディングを使用した ASP.NET 動的データ エンティティ Web アプリケーションに取り組んでいます。足場、ページテンプレート、つまり。入れる。編集、詳細、リスト、エンティティ テンプレート Web ユーザー コントロールはすべて正常に動作しています。

しかし、私の問題は、挿入操作中に主キーを検証したいということです。主キー フィールドを空白のままにすると、必須フィールド バリデーターで検証されます。主キー フィールドの重複エントリを検証するのと同じ方法です。

Data Model で Custom Validator も試しましたが、適切な解決策が見つかりませんでした。

誰でも私を助けてくれますか

4

1 に答える 1

1

あなたが MVC を使用していると私に言ったように、MVC にはRemote Validation があり、これをModel Class Propertiesに適用できます。

方法をお見せしましょう:

[Required]
[Remote("IsUserIDExist", "Account", ErrorMessage = "User ID Already Exist")]
[Display(Name = "Enter User ID")]
public string User_username { get; set; }

これは、Account.csモデル クラスにある私のプロパティです。

IsUserIDExistAccount Controller の Action です。

それでは、 IsUserIDExistアクションをお見せしましょう。

public ActionResult IsDomainIDExist(string User_username)
{
    var users = from s in db.CreateUsers
                where s.User_username == User_username
                select s;
       if (users != null)
       {
         if (users.Count() != 0)
         {
            return Json(false, JsonRequestBehavior.AllowGet);
         }
         else
         {
           return Json(true, JsonRequestBehavior.AllowGet);
          }
       }
       else
        {
          return Json(true, JsonRequestBehavior.AllowGet);
        }
    }

この規範はそれ自体を語っています。説明の必要はないと思います。

最後だが大事なことは。

リモート検証を使用するには、これらの JavaScript ファイルを追加する必要があります

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript">    </script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.json-2.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>

これがあなたが探していたものであることを願っています。

于 2012-09-14T14:41:54.097 に答える