Create min validator
authorMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Thu, 27 Dec 2018 10:13:13 +0000 (11:13 +0100)
committerMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Thu, 27 Dec 2018 10:13:13 +0000 (11:13 +0100)
Feature #master

Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski@contractors.roche.com>

src/validators/min.tsx [new file with mode: 0644]

diff --git a/src/validators/min.tsx b/src/validators/min.tsx
new file mode 100644 (file)
index 0000000..e326a70
--- /dev/null
@@ -0,0 +1,12 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import { isNumber } from 'lodash';
+
+export const ERROR_MESSAGE = (minValue: number) => `Minimum value is ${minValue}`;
+
+export const min =
+    (minValue: number, errorMessage = ERROR_MESSAGE) =>
+        (value: any) =>
+            isNumber(value) && value >= minValue ? undefined : errorMessage(minValue);