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