|
538 | 538 | fullFields[name].rules.push({ type: rule });
|
539 | 539 | });
|
540 | 540 | }
|
| 541 | + |
| 542 | + $.each(fullFields[name].rules, function (index, rule) { |
| 543 | + var ruleName = module.get.ruleName(rule); |
| 544 | + if (ruleName === 'empty') { |
| 545 | + module.warn('*** DEPRECATED *** : Rule "empty" for field "' + name + '" will be removed in a future version. -> Use "notEmpty" rule instead.'); |
| 546 | + } |
| 547 | + }); |
541 | 548 | });
|
542 | 549 |
|
543 | 550 | return fullFields;
|
|
591 | 598 | },
|
592 | 599 | settings: function () {
|
593 | 600 | if ($.isPlainObject(parameters)) {
|
594 |
| - if (parameters.fields) { |
595 |
| - parameters.fields = module.get.fieldsFromShorthand(parameters.fields); |
596 |
| - } |
597 | 601 | settings = $.extend(true, {}, $.fn.form.settings, parameters);
|
| 602 | + if (settings.fields) { |
| 603 | + settings.fields = module.get.fieldsFromShorthand(settings.fields); |
| 604 | + } |
598 | 605 | validation = $.extend(true, {}, $.fn.form.settings.defaults, settings.fields);
|
599 | 606 | module.verbose('Extending settings', validation, settings);
|
600 | 607 | } else {
|
|
1237 | 1244 | isRequired = $el.prop('required') || $elGroup.hasClass(className.required) || $elGroup.parent().hasClass(className.required),
|
1238 | 1245 | isDisabled = $el.is(':disabled') || $elGroup.hasClass(className.disabled) || $elGroup.parent().hasClass(className.disabled),
|
1239 | 1246 | validation = module.get.validation($el),
|
1240 |
| - hasEmptyRule = validation |
| 1247 | + hasNotEmptyRule = validation |
1241 | 1248 | ? $.grep(validation.rules, function (rule) {
|
1242 |
| - return rule.type === 'empty'; |
1243 |
| - }) !== 0 |
| 1249 | + return ['notEmpty', 'checked', 'empty'].indexOf(rule.type) >= 0; |
| 1250 | + }).length > 0 |
1244 | 1251 | : false,
|
1245 | 1252 | identifier = module.get.identifier(validation, $el)
|
1246 | 1253 | ;
|
1247 |
| - if (isRequired && !isDisabled && !hasEmptyRule && identifier !== undefined) { |
| 1254 | + if (isRequired && !isDisabled && !hasNotEmptyRule && identifier !== undefined) { |
1248 | 1255 | if (isCheckbox) {
|
1249 | 1256 | module.verbose("Adding 'checked' rule on field", identifier);
|
1250 | 1257 | module.add.rule(identifier, 'checked');
|
1251 | 1258 | } else {
|
1252 |
| - module.verbose("Adding 'empty' rule on field", identifier); |
1253 |
| - module.add.rule(identifier, 'empty'); |
| 1259 | + module.verbose("Adding 'notEmpty' rule on field", identifier); |
| 1260 | + module.add.rule(identifier, 'notEmpty'); |
1254 | 1261 | }
|
1255 | 1262 | }
|
1256 | 1263 | });
|
|
1492 | 1499 | module.error.apply(console, arguments);
|
1493 | 1500 | }
|
1494 | 1501 | },
|
| 1502 | + warn: function () { |
| 1503 | + if (!settings.silent) { |
| 1504 | + module.warn = Function.prototype.bind.call(console.warn, console, settings.name + ':'); |
| 1505 | + module.warn.apply(console, arguments); |
| 1506 | + } |
| 1507 | + }, |
1495 | 1508 | performance: {
|
1496 | 1509 | log: function (message) {
|
1497 | 1510 | var
|
|
1606 | 1619 | name: 'Form',
|
1607 | 1620 | namespace: 'form',
|
1608 | 1621 |
|
| 1622 | + silent: false, |
1609 | 1623 | debug: false,
|
1610 | 1624 | verbose: false,
|
1611 | 1625 | performance: true,
|
|
1671 | 1685 | maxValue: '{name} must have a maximum value of {ruleValue}',
|
1672 | 1686 | minValue: '{name} must have a minimum value of {ruleValue}',
|
1673 | 1687 | empty: '{name} must have a value',
|
| 1688 | + notEmpty: '{name} must have a value', |
1674 | 1689 | checked: '{name} must be checked',
|
1675 | 1690 | email: '{name} must be a valid e-mail',
|
1676 | 1691 | url: '{name} must be a valid url',
|
|
1803 | 1818 | rules: {
|
1804 | 1819 |
|
1805 | 1820 | // is not empty or blank string
|
1806 |
| - empty: function (value) { |
| 1821 | + notEmpty: function (value) { |
1807 | 1822 | return !(value === undefined || value === '' || (Array.isArray(value) && value.length === 0));
|
1808 | 1823 | },
|
1809 | 1824 |
|
| 1825 | + /* Deprecated */ |
| 1826 | + empty: function (value) { |
| 1827 | + return $.fn.form.settings.rules.notEmpty(value); |
| 1828 | + }, |
| 1829 | + |
1810 | 1830 | // checkbox checked
|
1811 | 1831 | checked: function () {
|
1812 | 1832 | return $(this).filter(':checked').length > 0;
|
|
0 commit comments