@dotconnor/grommet
Version:
focus on the essential experience
81 lines (73 loc) • 2.56 kB
JavaScript
"use strict";
exports.__esModule = true;
exports.AggregateValidation = void 0;
var _react = _interopRequireDefault(require("react"));
var _grommet = require("grommet");
var _themes = require("grommet/themes");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
// This example shows a way to perform validation across multiple fields.
var AggregateValidation = function AggregateValidation() {
var _React$useState = _react["default"].useState({
name: 'a',
email: 'b'
}),
value = _React$useState[0],
setValue = _React$useState[1];
var message = value.name && value.email && value.name[0] !== value.email[0] ? 'Mismatched first character' : undefined;
return /*#__PURE__*/_react["default"].createElement(_grommet.Grommet, {
full: true,
theme: _themes.grommet
}, /*#__PURE__*/_react["default"].createElement(_grommet.Box, {
fill: true,
align: "center",
justify: "center"
}, /*#__PURE__*/_react["default"].createElement(_grommet.Box, {
width: "medium"
}, /*#__PURE__*/_react["default"].createElement(_grommet.Form, {
value: value,
onChange: function onChange(nextValue) {
return setValue(nextValue);
},
onSubmit: function onSubmit(_ref) {
var nextValue = _ref.value;
return console.log(nextValue);
}
}, /*#__PURE__*/_react["default"].createElement(_grommet.FormField, {
label: "Name",
name: "name",
required: true
}, /*#__PURE__*/_react["default"].createElement(_grommet.TextInput, {
name: "name",
type: "name"
})), /*#__PURE__*/_react["default"].createElement(_grommet.FormField, {
label: "Email",
name: "email",
required: true
}, /*#__PURE__*/_react["default"].createElement(_grommet.TextInput, {
name: "email",
type: "email"
})), message && /*#__PURE__*/_react["default"].createElement(_grommet.Box, {
pad: {
horizontal: 'small'
}
}, /*#__PURE__*/_react["default"].createElement(_grommet.Text, {
color: "status-error"
}, message)), /*#__PURE__*/_react["default"].createElement(_grommet.Box, {
direction: "row",
justify: "between",
margin: {
top: 'medium'
}
}, /*#__PURE__*/_react["default"].createElement(_grommet.Button, {
type: "reset",
label: "Reset"
}), /*#__PURE__*/_react["default"].createElement(_grommet.Button, {
type: "submit",
label: "Update",
primary: true
}))))));
};
exports.AggregateValidation = AggregateValidation;
AggregateValidation.story = {
name: 'Aggregate validation'
};