knockout.js
にバインドされ、検証される動的フォームがありbootstrapValidator
ます。
別のコントロールの状態に応じて「必須検証」が必要な入力フィールドが 1 つあります。
入力フィールド:
<textarea id="inputReason" name="inputReason" rows="3"
class="form-control col-lg-8"
data-bind="value: Reason" />
ノックアウト ビューモデルの関連する JavaScript 部分:
self.SelectAbsenceType = function (absenceType) {
self.SelectedID(absenceType.ID);
if (self.SelectedAbsenceType().ReasonRequired) {
$('#formCreate').bootstrapValidator('addField', 'inputReason', {
validators: {
notEmpty: {
message: 'Please enter a reason'
}
}
});
} else {
$('#formCreate').bootstrapValidator('removeField', 'inputReason');
}
}
私が直面している問題は、クラスのメソッドにjavascript 例外があるためremoveField
、インスタンスの呼び出しがすべての登録情報を完全に削除していないように見えることです。これは、フィールドを削除したため、実際にはまったく呼び出されるべきではありません。前:bootstrapValidator
updateStatus
bootstrapValidator
var that = this,
type = fields.attr('type'),
group = this.options.fields[field].group || this.options.group,
total = ('radio' === type || 'checkbox' === type) ? 1 : fields.length;
例外: プロパティ「グループ」の値を取得できません: オブジェクトが null または未定義です
変数field
には値「inputReason」が含まれています。
だから私の質問はこれです(bootstrapValidatorsのドキュメントはこれremoveField
について完全に明確ではないため:フィールドinputReasonの動的に追加された検証を完全に削除するにはどうすればよいですか?
(補足: 誰かがタグ boostrapvalidator を追加できますか?)