UNPKG

react-formian

Version:

A React framework for easily creating and handling controlled forms

58 lines (48 loc) 1.41 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); // NOTE formatters manipulate and upate a user input in real time, putting into the chosen format. var formatters = {}; // ========== BOX INPUTS formatters.checkbox = checkbox; formatters.onoff = checkbox; formatters.radio = preformatted; // ========== ARRAY INPUTS formatters.datalist = preformatted; formatters.range = preformatted; formatters.select = preformatted; // ========== FIELD INPUTS formatters.email = preformatted; formatters.password = preformatted; formatters.phone = preformatted; formatters.text = alphanumeric; formatters.textArea = textLarge; // ========== SPECIAL INPUTS formatters.recaptcha = preformatted; formatters.file = function (target) { return target.files ? Array.from(target.files) : []; }; exports.default = formatters; // ========== COMMON FORMATTERS function preformatted(target) { return target.value; } function textSmall(target) { return target.value.slice(0, 25); } function textMed(target) { return target.value.slice(0, 50); } function textLarge(target) { return target.value.slice(0, 50000); } function checkbox(target) { return !!target.checked || false; } function tinyInt(target) { return target.checked ? 1 : 0; } function alphanumeric(target) { return target.value.replace(/[^\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\.\,\u2010-\u2014\u0020]+/gi, '').slice(0, 255); }