フォームを送信する前に、価格と数量という 2 つのフィールドが数値型の入力値を受け取っていることを検証したいので、検証関数で次のコードを記述します。
function validate(values) {
const errors = {};
_.map(FIELDS, (config, field) => {
if (!values[field]) {
errors[field] = `Please Enter ${config.label}`;
}
if (typeof values['price'] !== 'number') {
errors['price'] = 'Please enter a number';
}
if (typeof values['quantity'] !== 'number') {
errors['quantity'] = 'Please enter a number';
}
});
return errors;
}
数値を入力するかどうかに関係なく、「数値を入力してください」というエラーがフォームに表示されるため、価格と数量の入力値のタイプをコンソールに記録すると、常に文字列であることがわかります。価格と数量が数値を受け取るかどうかを確認するには、フォームをどのように検証すればよいですか?