fomantic-ui 2.9.4-beta.19 → 2.9.4-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +1 -1
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +1 -1
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +1 -1
- package/dist/components/api.min.js +1 -1
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +1 -1
- package/dist/components/button.min.css +1 -1
- package/dist/components/calendar.css +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/calendar.min.css +1 -1
- package/dist/components/calendar.min.js +1 -1
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +1 -1
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +1 -1
- package/dist/components/container.min.css +1 -1
- package/dist/components/dimmer.css +1 -1
- package/dist/components/dimmer.js +1 -1
- package/dist/components/dimmer.min.css +1 -1
- package/dist/components/dimmer.min.js +1 -1
- package/dist/components/divider.css +1 -1
- package/dist/components/divider.min.css +1 -1
- package/dist/components/dropdown.css +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/dropdown.min.css +1 -1
- package/dist/components/dropdown.min.js +1 -1
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +1 -1
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +1 -1
- package/dist/components/emoji.css +1 -1
- package/dist/components/emoji.min.css +1 -1
- package/dist/components/feed.css +1 -1
- package/dist/components/feed.min.css +1 -1
- package/dist/components/flag.css +1 -1
- package/dist/components/flag.min.css +1 -1
- package/dist/components/flyout.css +1 -1
- package/dist/components/flyout.js +1 -1
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +1 -1
- package/dist/components/form.css +1 -1
- package/dist/components/form.js +35 -13
- package/dist/components/form.min.css +1 -1
- package/dist/components/form.min.js +2 -2
- package/dist/components/grid.css +1 -1
- package/dist/components/grid.min.css +1 -1
- package/dist/components/header.css +1 -1
- package/dist/components/header.min.css +1 -1
- package/dist/components/icon.css +1 -1
- package/dist/components/icon.min.css +1 -1
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +1 -1
- package/dist/components/input.min.css +1 -1
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +1 -1
- package/dist/components/label.min.css +1 -1
- package/dist/components/list.css +1 -1
- package/dist/components/list.min.css +1 -1
- package/dist/components/loader.css +1 -1
- package/dist/components/loader.min.css +1 -1
- package/dist/components/menu.css +1 -1
- package/dist/components/menu.min.css +1 -1
- package/dist/components/message.css +1 -1
- package/dist/components/message.min.css +1 -1
- package/dist/components/modal.css +1 -1
- package/dist/components/modal.js +1 -1
- package/dist/components/modal.min.css +1 -1
- package/dist/components/modal.min.js +1 -1
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +1 -1
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +1 -1
- package/dist/components/placeholder.css +1 -1
- package/dist/components/placeholder.min.css +1 -1
- package/dist/components/popup.css +1 -1
- package/dist/components/popup.js +1 -1
- package/dist/components/popup.min.css +1 -1
- package/dist/components/popup.min.js +1 -1
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +1 -1
- package/dist/components/progress.min.css +1 -1
- package/dist/components/progress.min.js +1 -1
- package/dist/components/rail.css +1 -1
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +1 -1
- package/dist/components/rating.js +1 -1
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +1 -1
- package/dist/components/reset.css +1 -1
- package/dist/components/reset.min.css +1 -1
- package/dist/components/reveal.css +1 -1
- package/dist/components/reveal.min.css +1 -1
- package/dist/components/search.css +1 -1
- package/dist/components/search.js +1 -1
- package/dist/components/search.min.css +1 -1
- package/dist/components/search.min.js +1 -1
- package/dist/components/segment.css +1 -1
- package/dist/components/segment.min.css +1 -1
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +1 -1
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +1 -1
- package/dist/components/sidebar.css +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +1 -1
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +1 -1
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +1 -1
- package/dist/components/slider.css +1 -1
- package/dist/components/slider.js +1 -1
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +1 -1
- package/dist/components/state.js +1 -1
- package/dist/components/state.min.js +1 -1
- package/dist/components/statistic.css +1 -1
- package/dist/components/statistic.min.css +1 -1
- package/dist/components/step.css +1 -1
- package/dist/components/step.min.css +1 -1
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +1 -1
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +1 -1
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +1 -1
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +1 -1
- package/dist/components/table.css +1 -1
- package/dist/components/table.min.css +1 -1
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +1 -1
- package/dist/components/toast.js +1 -1
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +1 -1
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +1 -1
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +1 -1
- package/dist/components/visibility.js +1 -1
- package/dist/components/visibility.min.js +1 -1
- package/dist/semantic.css +53 -53
- package/dist/semantic.js +60 -38
- package/dist/semantic.min.css +1 -1
- package/dist/semantic.min.js +2 -2
- package/package.json +1 -1
- package/src/definitions/behaviors/form.js +34 -12
package/dist/components/ad.css
CHANGED
package/dist/components/api.js
CHANGED
package/dist/components/card.css
CHANGED
package/dist/components/embed.js
CHANGED
package/dist/components/feed.css
CHANGED
package/dist/components/flag.css
CHANGED
package/dist/components/form.css
CHANGED
package/dist/components/form.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.9.4-beta.
|
2
|
+
* # Fomantic-UI 2.9.4-beta.20+0224737 - Form Validation
|
3
3
|
* https://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -538,6 +538,13 @@
|
|
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,10 +598,10 @@
|
|
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 {
|
@@ -711,7 +718,7 @@
|
|
711
718
|
var
|
712
719
|
$field = $(field),
|
713
720
|
$calendar = $field.closest(selector.uiCalendar),
|
714
|
-
name = $field.prop('name'),
|
721
|
+
name = $field.prop('name') || $field.prop('id'),
|
715
722
|
value = $field.val(),
|
716
723
|
isCheckbox = $field.is(selector.checkbox),
|
717
724
|
isRadio = $field.is(selector.radio),
|
@@ -1237,20 +1244,20 @@
|
|
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
|
-
|
1247
|
+
hasNotEmptyRule = validation
|
1241
1248
|
? $.grep(validation.rules, function (rule) {
|
1242
|
-
return rule.type
|
1243
|
-
})
|
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 && !
|
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 '
|
1253
|
-
module.add.rule(identifier, '
|
1259
|
+
module.verbose("Adding 'notEmpty' rule on field", identifier);
|
1260
|
+
module.add.rule(identifier, 'notEmpty');
|
1254
1261
|
}
|
1255
1262
|
}
|
1256
1263
|
});
|
@@ -1349,13 +1356,14 @@
|
|
1349
1356
|
fieldErrors = [],
|
1350
1357
|
isDisabled = $field.filter(':not(:disabled)').length === 0,
|
1351
1358
|
validationMessage = $field[0].validationMessage,
|
1359
|
+
noNativeValidation = field.noNativeValidation || settings.noNativeValidation || $field.filter('[formnovalidate],[novalidate]').length > 0 || $module.filter('[novalidate]').length > 0,
|
1352
1360
|
errorLimit
|
1353
1361
|
;
|
1354
1362
|
if (!field.identifier) {
|
1355
1363
|
module.debug('Using field name as identifier', identifier);
|
1356
1364
|
field.identifier = identifier;
|
1357
1365
|
}
|
1358
|
-
if (validationMessage) {
|
1366
|
+
if (validationMessage && !noNativeValidation) {
|
1359
1367
|
module.debug('Field is natively invalid', identifier);
|
1360
1368
|
fieldErrors.push(validationMessage);
|
1361
1369
|
fieldValid = false;
|
@@ -1491,6 +1499,12 @@
|
|
1491
1499
|
module.error.apply(console, arguments);
|
1492
1500
|
}
|
1493
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
|
+
},
|
1494
1508
|
performance: {
|
1495
1509
|
log: function (message) {
|
1496
1510
|
var
|
@@ -1605,6 +1619,7 @@
|
|
1605
1619
|
name: 'Form',
|
1606
1620
|
namespace: 'form',
|
1607
1621
|
|
1622
|
+
silent: false,
|
1608
1623
|
debug: false,
|
1609
1624
|
verbose: false,
|
1610
1625
|
performance: true,
|
@@ -1627,6 +1642,7 @@
|
|
1627
1642
|
errorFocus: true,
|
1628
1643
|
dateHandling: 'date', // 'date', 'input', 'formatter'
|
1629
1644
|
errorLimit: 0,
|
1645
|
+
noNativeValidation: false,
|
1630
1646
|
|
1631
1647
|
onValid: function () {},
|
1632
1648
|
onInvalid: function () {},
|
@@ -1669,6 +1685,7 @@
|
|
1669
1685
|
maxValue: '{name} must have a maximum value of {ruleValue}',
|
1670
1686
|
minValue: '{name} must have a minimum value of {ruleValue}',
|
1671
1687
|
empty: '{name} must have a value',
|
1688
|
+
notEmpty: '{name} must have a value',
|
1672
1689
|
checked: '{name} must be checked',
|
1673
1690
|
email: '{name} must be a valid e-mail',
|
1674
1691
|
url: '{name} must be a valid url',
|
@@ -1801,10 +1818,15 @@
|
|
1801
1818
|
rules: {
|
1802
1819
|
|
1803
1820
|
// is not empty or blank string
|
1804
|
-
|
1821
|
+
notEmpty: function (value) {
|
1805
1822
|
return !(value === undefined || value === '' || (Array.isArray(value) && value.length === 0));
|
1806
1823
|
},
|
1807
1824
|
|
1825
|
+
/* Deprecated */
|
1826
|
+
empty: function (value) {
|
1827
|
+
return $.fn.form.settings.rules.notEmpty(value);
|
1828
|
+
},
|
1829
|
+
|
1808
1830
|
// checkbox checked
|
1809
1831
|
checked: function () {
|
1810
1832
|
return $(this).filter(':checked').length > 0;
|