stringCase.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. (function($) {
  2. $.fn.bootstrapValidator.i18n.stringCase = $.extend($.fn.bootstrapValidator.i18n.stringCase || {}, {
  3. 'default': 'Please enter only lowercase characters',
  4. upper: 'Please enter only uppercase characters'
  5. });
  6. $.fn.bootstrapValidator.validators.stringCase = {
  7. html5Attributes: {
  8. message: 'message',
  9. 'case': 'case'
  10. },
  11. /**
  12. * Check if a string is a lower or upper case one
  13. *
  14. * @param {BootstrapValidator} validator The validator plugin instance
  15. * @param {jQuery} $field Field element
  16. * @param {Object} options Consist of key:
  17. * - message: The invalid message
  18. * - case: Can be 'lower' (default) or 'upper'
  19. * @returns {Object}
  20. */
  21. validate: function(validator, $field, options) {
  22. var value = $field.val();
  23. if (value === '') {
  24. return true;
  25. }
  26. var stringCase = (options['case'] || 'lower').toLowerCase();
  27. return {
  28. valid: ('upper' === stringCase) ? value === value.toUpperCase() : value === value.toLowerCase(),
  29. message: options.message || (('upper' === stringCase) ? $.fn.bootstrapValidator.i18n.stringCase.upper : $.fn.bootstrapValidator.i18n.stringCase['default'])
  30. };
  31. }
  32. };
  33. }(window.jQuery));