3

Bootstrap Validator v 0.5.2 is being re-used for validating form (#myForm) in a modal. Need is dynamically pass an unique id (Foreign Key) to 'url' of 'remote' rule when form loads on a modal as below.

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!"
                }
            }
        } 
    }
});

Issue:
On modal loading, 'id' passes successfully into form dynamically. Though, 'bootstrapValidator' gets the very first passed 'id' into the form, unless page reloads.

Pasindu Jayanath
  • 892
  • 10
  • 27

1 Answers1

3

Found a solution!

Add a hidden input field for add the foreign key.

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

And, dynamically pass foreign key to this field.

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

Then, as follow

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

Now, it works for me. 'Id' is dynamically pass for remote method.

Pasindu Jayanath
  • 892
  • 10
  • 27