Skip to content

Commit 801ae23

Browse files
author
Raif Özdoğan
committed
add int type support for lengthEqual validator
1 parent bf31b11 commit 801ae23

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

packages/form_builder_validators/lib/src/form_builder_validators.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,11 @@ class FormBuilderValidators {
156156
return (T? valueCandidate) {
157157
assert(valueCandidate is String ||
158158
valueCandidate is Iterable ||
159+
valueCandidate is int ||
159160
valueCandidate == null);
160161
var valueLength = 0;
161162

163+
if (valueCandidate is int) valueLength = valueCandidate.toString().length;
162164
if (valueCandidate is String) valueLength = valueCandidate.length;
163165
if (valueCandidate is Iterable) valueLength = valueCandidate.length;
164166

packages/form_builder_validators/test/form_builder_validators_test.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,22 @@ void main() {
192192
expect(validator("4444"), isNotNull);
193193
}));
194194

195+
testWidgets(
196+
'FormBuilderValidators.lengthEqual for int',
197+
(WidgetTester tester) => testValidations(tester, (context) {
198+
final validator = FormBuilderValidators.lengthEqual<int>(3);
199+
200+
// Pass
201+
expect(validator(333), isNull);
202+
203+
// Fail
204+
expect(validator(null), isNotNull);
205+
expect(validator(0), isNotNull);
206+
expect(validator(1), isNotNull);
207+
expect(validator(22), isNotNull);
208+
expect(validator(4444), isNotNull);
209+
}));
210+
195211
testWidgets(
196212
'FormBuilderValidators.email',
197213
(WidgetTester tester) => testValidations(tester, (context) {

0 commit comments

Comments
 (0)