Как динамически передать идентификатор в URL правила валидатора Bootstrap: удаленный для того же поля ввода формы? - PullRequest
0 голосов
/ 02 мая 2018

Bootstrap Validator v 0.5.2 повторно используется для проверки формы (#myForm) в модальном режиме. Вам нужно динамически передать уникальный идентификатор (внешний ключ) в 'url' правила 'remote', когда форма загружается по модальному адресу, как показано ниже.

var remoteUrl = "/remoteurl/";
var id = <Foreign key of the record>

$('#myForm').bootstrapValidator({
    feedbackIcons: {
        valid: 'glyphicon glyphicon-ok',
        invalid: 'glyphicon glyphicon-remove',
        validating: 'glyphicon glyphicon-refresh'
    },
    fields: {
        fieldName: {
            validators: {
                remote: {
                    url: remoteUrl + id, //dynamically passing id. // but not passing dynamically.
                    type: 'POST',
                    message: "This is the message!"
                }
            }
        } 
    }
});

Выпуск:
При модальной загрузке id успешно переходит в форму динамически. Тем не менее, ' bootstrapValidator ' получает самый первый переданный id в форму, если только страница не перезагружается.

1 Ответ

0 голосов
/ 02 мая 2018

Нашли решение!

Добавить скрытое поле ввода для добавления внешнего ключа.

<input type="hidden" value="" name="foreignKey" id="foreignId">

И, динамически передать внешний ключ в это поле.

$('#foreignId').val(id);

Затем, как следует

fieldName: {
    validators: {
        remote: {
            url: remoteUrl,
             data: function(validator, $field, value) {
                return {
                    foreignKey: validator.getFieldElements('foreignKey').val()
                };
            },
            type: 'POST',
            message: "This is the message!"
        }
    }
}

Теперь это работает для меня. 'Id' динамически передается для удаленного метода.

...