UNPKG

formvalidation

Version:

The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks

54 lines (49 loc) 1.88 kB
/** * callback validator * * @link http://formvalidation.io/validators/callback/ * @author https://twitter.com/nghuuphuoc * @copyright (c) 2013 - 2015 Nguyen Huu Phuoc * @license http://formvalidation.io/license/ */ (function($) { FormValidation.I18n = $.extend(true, FormValidation.I18n || {}, { 'en_US': { callback: { 'default': 'Please enter a valid value' } } }); FormValidation.Validator.callback = { html5Attributes: { message: 'message', callback: 'callback' }, /** * Return result from the callback method * * @param {FormValidation.Base} validator The validator plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - callback: The callback method that passes 2 parameters: * callback: function(fieldValue, validator, $field) { * // fieldValue is the value of field * // validator is instance of BootstrapValidator * // $field is the field element * } * - message: The invalid message * @returns {Deferred} */ validate: function(validator, $field, options) { var value = validator.getFieldValue($field, 'callback'), dfd = new $.Deferred(), result = { valid: true }; if (options.callback) { var response = FormValidation.Helper.call(options.callback, [value, validator, $field]); result = ('boolean' === typeof response || null === response) ? { valid: response } : response; } dfd.resolve($field, 'callback', result); return dfd; } }; }(jQuery));