react-form-controlled
Version:
Intuitive react forms for building powerful applications
33 lines (24 loc) • 635 B
JSX
import { remove as removeDiacritics } from 'diacritics';
import Input from './Input';
function fixValue(value) {
if (!value) {
return value;
}
// remove white spaces
let valueChanged = value.replace(/\s/g, '');
// remove diacritics
valueChanged = removeDiacritics(valueChanged);
// to lowercase
valueChanged = valueChanged.toLowerCase();
return valueChanged;
}
export default class Word extends Input {
onChange(evn) {
const { target } = evn;
const fixedValue = fixValue(target.value);
if (fixedValue !== target.value) {
target.value = fixedValue;
}
super.onChange(evn);
}
}