0

私はここで立ち往生しており、助けていただければ幸いです。次のような現在の都市の入力フィールドを含むかみそりビューのフォームがあります。

@Html.LabelFor(x => x.UserModel.CurrentCity)
@Html.TextBoxFor(x => x.UserModel.CurrentCity, new { @data_bind = "value: UserModel.CurrentCity ", @class = "city", @data_val = "true", @data_val_required="City is required" })
@Html.ValidationMessageFor(x => x.UserModel.CurrentCity)

このフィールドのオートコンプリートが必要で、次のように jquery トークン入力プラグインを使用しています。

$(".city").tokenInput('@Url.Action("AutocompleteCity", "Settings")',{ minChars: 2, tokenLimit: 1, hintText: "Type in a city" });
$(".city").tokenInput("add", {name: viewModel.UserModel.CurrentCity()});

クライアント側の目立たない検証を除いて、すべてが正常に機能します。CurrentCity が空の場合でも、フォームは投稿されます。

また、MVC ヘルパーをプレーンな html に変更しようとしました。

<input data-val="true" data-val-required="City is required" type="text" class="city" data-bind = "value: UserModel.CurrentCity, attr: { name: 'UserModel.CurrentCity', id: 'UserModel.CurrentCity'}" />
<span class="field-validation-valid" data-valmsg-for="UserModel.CurrentCity" data-valmsg-replace="true"></span>

この方法ではフォームが送信されなくなりますが、validation-error クラスはスパンに挿入されず、エラー メッセージは表示されません。

助言がありますか?

4

1 に答える 1

0

作成した元の入力要素は非表示になっています。隠し要素の検証を有効にする必要がある可能性があります: jquery.validate v. 1.9 は一部の隠し入力またはhttps://stackoverflow.com/a/13295938/173225を無視します。

于 2013-01-16T16:49:59.483 に答える