私のRazorビュー(ASP.NET MVC 4)には、いくつかのフィールドを表示/非表示するための2つのラジオボタンがあります。最初のラジオボタンを選択すると、これらのフィールドは表示されません。 2番目のラジオボタンが選択されると、フィールドが表示されます。これはradiobuttons onclickイベントにバインドされたJavascript関数によって行われます。特定のフィールドの検証を無効にする
function displayHiddenFields(value) {
if (value == 'true')
$('#myDiv').removeClass('hidden');
else
$('#myDiv').addClass('hidden');
}
私は検証を実行するためにビューモデルでデータ注釈を使用しています。私の問題は、見えないフィールドも検証されてしまうことです。これらのフィールドは、表示されているときにのみ検証する必要があります。入力要素のdata-val属性を操作しようとしましたが、これは機能しません。
$('input1').attr('data-val', value);
問題をどのように解決できますか?クライアント側のJavascriptを使用して見えないフィールドの検証を無効にする方法はありますか?それ以外の場合は、フィールドを条件付きでレンダリングするためにポストバックを行う必要があります。
radiobuttonが1つの場合はこれらのフィールドを削除し、もう1つのフィールドではAJAXを使用してフォームに再度追加する必要があります。 – Mariusz
可能な複製http://stackoverflow.com/questions/6913220/jquery-validator-and-fields-that-have-been-hidden – Suhas