日本語でバリデーションできるやつ。
# npm
npm install --save irokaru/nonono-validator
# yarn
yarn add -D irokaru/nonono-validator
import Validator from 'nonono-validator';
const v = new Validator();
// バリデーションされるデータ
const data = {
num: 10,
str: 'hogehoge',
};
// バリデーションのルール
const rules = {
num: {
// numは数字という名前で数値型で0以上10以下である
type: 'number', name: '数字', min: 0, max: 10,
},
str: {
// strは文字列という名前で文字列型で10文字以上12文字以下である
type: 'string', name: '文字列', min: 10, max: 12,
},
};
v.rules(data, rules);
if (v.exec()) {
console.log('正しいデータです');
} else {
console.log('誤ったデータです');
}
console.log('エラー内容', v.errors());
入力値の型をチェックします。
名前 | 型 |
---|---|
number | 数字 |
int | 整数 |
integer | 整数 |
string | 文字列 |
numstring | 文字列数字 |
intstring | 文字列整数 |
bool | ブーリアン型 |
boolean | ブーリアン型 |
array | 配列 |
object | オブジェクト |
callback | 自作バリデーション |
キーの代替名を設定します。エラーの結果に反映されます。
入力値の下限値をチェックします。
入力値の上限値をチェックします。
文字列のパターンをチェックします。
名前 | パターン |
---|---|
japanese | 日本語のみ |
Eメール | |
url | URL |
値が入っていなくてもよくなります。
const rules = {
hoge: {
nullable: true,
}
};
コールバックを利用して自作バリデーションの設定ができます。
const rules = {
test: {
type: 'callback', callback: testValidator,
},
};
const testValidator = (val) => {
const err = [];
if (!Validator.isObject(val) || toString.call(val) !== '[object File]') {
err.push(`Fileクラスのインスタンスではありません`);
}
return err;
};