1

3 つの簡単なステップで構成された簡単なウィザードがあります。

最初の 2 つの手順では、選択したプラグインによって処理されるいくつかの選択コントロールを持つフォーム コントロールがあります。

<div class="col-lg-6 col-lg-offset-1">
    <label for="ExpirationMode" class="control-label">Da operazione</label>
    <div class="">
        <select name="ExpirationMode" id="ExpirationMode"
                class="chosen-select form-control" data-placeholder="Select an item" data-rule-required="true" data-msg-required="Required field">
            <option value=""></option>
            @foreach ( ExpirationModeViewModel e in expirationModeList ) {
                <option value="@e.ExpirationModeID">@e.Description</option>
            }
        </select>
    </div>
</div>

次のJavaScriptで

$('.chosen-select').chosen({
    disable_search_threshold: 10,
    no_results_text: 'Oops, no results found',
    allow_single_deselect: true,
    width: '100%'
});

選択したプラグインで検証を処理するために、onStepChangingイベントに次のバリデータ設定を追加しました

onStepChanging: function (event, currentIndex, newIndex) {
    // Disable validation on fields that are disabled or hidden.
    form.validate().settings.ignore = ":disabled,:hidden:not('select.form-control')";
    // Start validation; Prevent going forward if false
    return form.valid();
},

2 番目のパネルで選択した別の選択を追加すると、問題が発生します。この命令form.validate().settings.ignore = ":disabled,:hidden:not('select.form-control')";は、2 番目のパネルにある選択された要素も検証しようとしています。

どうすればこれを解決できますか? 現在のパネルに含まれるコントロールのみを検証するようバリデーターに指示できますか?

4

1 に答える 1