UNPKG

formvalidation

Version:

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

86 lines (77 loc) 3.12 kB
/** * greaterThan validator * * @link http://formvalidation.io/validators/greaterThan/ * @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': { greaterThan: { 'default': 'Please enter a value greater than or equal to %s', notInclusive: 'Please enter a value greater than %s' } } }); FormValidation.Validator.greaterThan = { html5Attributes: { message: 'message', value: 'value', inclusive: 'inclusive' }, enableByHtml5: function($field) { var type = $field.attr('type'), min = $field.attr('min'); if (min && type !== 'date') { return { value: min }; } return false; }, /** * Return true if the input value is greater than or equals to given number * * @param {FormValidation.Base} validator Validate plugin instance * @param {jQuery} $field Field element * @param {Object} options Can consist of the following keys: * - value: Define the number to compare with. It can be * - A number * - Name of field which its value defines the number * - Name of callback function that returns the number * - A callback function that returns the number * * - inclusive [optional]: Can be true or false. Default is true * - message: The invalid message * @returns {Boolean|Object} */ validate: function(validator, $field, options) { var value = validator.getFieldValue($field, 'greaterThan'); if (value === '') { return true; } value = this._format(value); if (!$.isNumeric(value)) { return false; } var locale = validator.getLocale(), compareTo = $.isNumeric(options.value) ? options.value : validator.getDynamicOption($field, options.value), compareToValue = this._format(compareTo); value = parseFloat(value); return (options.inclusive === true || options.inclusive === undefined) ? { valid: value >= compareToValue, message: FormValidation.Helper.format(options.message || FormValidation.I18n[locale].greaterThan['default'], compareTo) } : { valid: value > compareToValue, message: FormValidation.Helper.format(options.message || FormValidation.I18n[locale].greaterThan.notInclusive, compareTo) }; }, _format: function(value) { return (value + '').replace(',', '.'); } }; }(jQuery));