File tree 27 files changed +88
-1
lines changed
27 files changed +88
-1
lines changed Original file line number Diff line number Diff line change @@ -110,6 +110,10 @@ Checks if value is correct IPv6 address.
110
110
111
111
Checks if value is correct url address.
112
112
113
+ # ## `.match(String otherValue, [String message])`
114
+
115
+ Checks if the value matches the specified `otherValue`. This can be used to validate if two input values are identical.
116
+
113
117
# ## `.regExp(RegExp regExp, String message)`
114
118
115
119
Validates if value does matches `regExp` or not.
Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ class _HomePageState extends State<HomePage> {
21
21
GlobalKey <FormState > _form = GlobalKey <FormState >();
22
22
23
23
void _validate () {
24
- _form.currentState.validate ();
24
+ _form.currentState? .validate ();
25
25
}
26
26
27
27
@override
Original file line number Diff line number Diff line change @@ -31,4 +31,7 @@ class LocaleAr implements FormValidatorLocale {
31
31
32
32
@override
33
33
String url (String v) => 'يرجى إدخال عنوان URL صحيح' ;
34
+
35
+ @override
36
+ String noMatch () => 'يرجى إدخال قيم متطابقة' ;
34
37
}
Original file line number Diff line number Diff line change @@ -29,4 +29,7 @@ class LocaleAz implements FormValidatorLocale {
29
29
30
30
@override
31
31
String url (String v) => 'URL ünvanı düzgün deyil' ;
32
+
33
+ @override
34
+ String noMatch () => 'Dəyərlər uyğun gəlmir' ;
32
35
}
Original file line number Diff line number Diff line change @@ -30,4 +30,7 @@ class LocaleBn implements FormValidatorLocale {
30
30
31
31
@override
32
32
String url (String v) => 'এটি একটি বৈধ URL ঠিকানা নয়' ;
33
+
34
+ @override
35
+ String noMatch () => 'মানগুলি মেলেনি' ;
33
36
}
Original file line number Diff line number Diff line change @@ -32,4 +32,7 @@ class LocaleCaEs implements FormValidatorLocale {
32
32
33
33
@override
34
34
String url (String v) => 'El camp no és una adreça URL vàlida' ;
35
+
36
+ @override
37
+ String noMatch () => 'Els valors no coincideixen' ;
35
38
}
Original file line number Diff line number Diff line change @@ -30,4 +30,7 @@ class LocaleDe implements FormValidatorLocale {
30
30
31
31
@override
32
32
String url (String v) => 'Dies ist keine gültige URL' ;
33
+
34
+ @override
35
+ String noMatch () => 'Die Werte stimmen nicht überein' ;
33
36
}
Original file line number Diff line number Diff line change @@ -31,4 +31,7 @@ class LocaleEn implements FormValidatorLocale {
31
31
32
32
@override
33
33
String url (String v) => 'The field is not a valid URL address' ;
34
+
35
+ @override
36
+ String noMatch () => 'The values do not match' ;
34
37
}
Original file line number Diff line number Diff line change @@ -32,4 +32,7 @@ class LocaleEs implements FormValidatorLocale {
32
32
33
33
@override
34
34
String url (String v) => 'El campo no es una dirección URL válida' ;
35
+
36
+ @override
37
+ String noMatch () => 'Los valores no coinciden' ;
35
38
}
Original file line number Diff line number Diff line change @@ -31,4 +31,7 @@ class LocaleFr implements FormValidatorLocale {
31
31
32
32
@override
33
33
String url (String v) => "Le champ n'est pas une URL valide" ;
34
+
35
+ @override
36
+ String noMatch () => "Los valores no coinciden" ;
34
37
}
Original file line number Diff line number Diff line change @@ -29,4 +29,7 @@ class LocaleHe implements FormValidatorLocale {
29
29
30
30
@override
31
31
String url (String v) => 'השדה מכיל כתובת URL לא תקינה' ;
32
+
33
+ @override
34
+ String noMatch () => "הערכים אינם תואמים" ;
32
35
}
Original file line number Diff line number Diff line change @@ -30,4 +30,7 @@ class LocaleId implements FormValidatorLocale {
30
30
31
31
@override
32
32
String url (String v) => 'Masukan bukan alamat URL yang benar' ;
33
+
34
+ @override
35
+ String noMatch () => "Nilai tidak cocok" ;
33
36
}
Original file line number Diff line number Diff line change @@ -31,4 +31,7 @@ class LocaleIt implements FormValidatorLocale {
31
31
32
32
@override
33
33
String url (String v) => 'Il campo non è un indirizzo URL valido' ;
34
+
35
+ @override
36
+ String noMatch () => "I valori non corrispondono" ;
34
37
}
Original file line number Diff line number Diff line change @@ -29,4 +29,7 @@ class LocaleJa implements FormValidatorLocale {
29
29
30
30
@override
31
31
String url (String v) => '有効なURLの形式ではありません' ;
32
+
33
+ @override
34
+ String noMatch () => "値が一致しません" ;
32
35
}
Original file line number Diff line number Diff line change @@ -21,4 +21,7 @@ class LocaleKo implements FormValidatorLocale {
21
21
String ipv6 (String v) => '올바른 IPv6주소를 입력해주세요' ;
22
22
@override
23
23
String url (String v) => '올바른 URL주소를 입력해주세요' ;
24
+
25
+ @override
26
+ String noMatch () => "값이 일치하지 않습니다" ;
24
27
}
Original file line number Diff line number Diff line change @@ -29,4 +29,7 @@ class LocaleNl implements FormValidatorLocale {
29
29
30
30
@override
31
31
String url (String v) => 'Ongeldige URL' ;
32
+
33
+ @override
34
+ String noMatch () => "De waarden komen niet overeen" ;
32
35
}
Original file line number Diff line number Diff line change @@ -29,4 +29,7 @@ class LocalePl implements FormValidatorLocale {
29
29
30
30
@override
31
31
String url (String v) => 'adres URL jest niepoprawny' ;
32
+
33
+ @override
34
+ String noMatch () => "Wartości nie pasują do siebie" ;
32
35
}
Original file line number Diff line number Diff line change @@ -31,4 +31,7 @@ class LocalePtBr implements FormValidatorLocale {
31
31
32
32
@override
33
33
String url (String v) => 'A URL informada não é valida' ;
34
+
35
+ @override
36
+ String noMatch () => 'Os valores não correspondem' ;
34
37
}
Original file line number Diff line number Diff line change @@ -31,4 +31,7 @@ class LocaleRo implements FormValidatorLocale {
31
31
32
32
@override
33
33
String url (String v) => 'Câmpul nu este o adresă URL validă' ;
34
+
35
+ @override
36
+ String noMatch () => 'Valorile nu se potrivesc' ;
34
37
}
Original file line number Diff line number Diff line change @@ -31,4 +31,7 @@ class LocaleRu implements FormValidatorLocale {
31
31
32
32
@override
33
33
String url (String v) => 'Неверный URL адрес' ;
34
+
35
+ @override
36
+ String noMatch () => 'Значения не совпадают' ;
34
37
}
Original file line number Diff line number Diff line change @@ -29,4 +29,7 @@ class LocaleTh implements FormValidatorLocale {
29
29
30
30
@override
31
31
String url (String v) => 'ที่อยู่ URL ไม่ถูกต้อง' ;
32
+
33
+ @override
34
+ String noMatch () => 'ค่าไม่ตรงกัน' ;
32
35
}
Original file line number Diff line number Diff line change @@ -29,4 +29,7 @@ class LocaleTr implements FormValidatorLocale {
29
29
30
30
@override
31
31
String url (String v) => 'URL adresi geçerli değil' ;
32
+
33
+ @override
34
+ String noMatch () => 'Değerler eşleşmiyor' ;
32
35
}
Original file line number Diff line number Diff line change @@ -29,4 +29,7 @@ class LocaleVi implements FormValidatorLocale {
29
29
30
30
@override
31
31
String url (String v) => 'Địa chỉ URL không hợp lệ' ;
32
+
33
+ @override
34
+ String noMatch () => 'Giá trị không khớp' ;
32
35
}
Original file line number Diff line number Diff line change @@ -29,4 +29,7 @@ class LocaleZhCN implements FormValidatorLocale {
29
29
30
30
@override
31
31
String url (String v) => '此字段不是一个有效的统一资源定位器(URL)地址' ;
32
+
33
+ @override
34
+ String noMatch () => '值不匹配' ;
32
35
}
Original file line number Diff line number Diff line change @@ -8,4 +8,5 @@ abstract class FormValidatorLocale {
8
8
String ip (String v);
9
9
String ipv6 (String v);
10
10
String url (String v);
11
+ String noMatch ();
11
12
}
Original file line number Diff line number Diff line change @@ -112,6 +112,10 @@ class ValidationBuilder {
112
112
ValidationBuilder required ([String ? message]) =>
113
113
add ((v) => v == null || v.isEmpty ? message ?? _locale.required () : null );
114
114
115
+ /// Checks if two values match
116
+ ValidationBuilder match (String ? otherValue, [String ? message]) =>
117
+ add ((v) => v == otherValue ? null : message ?? _locale.noMatch ());
118
+
115
119
/// Value length must be greater than or equal to [minLength]
116
120
ValidationBuilder minLength (int minLength, [String ? message]) =>
117
121
add ((v) => v! .length < minLength
Original file line number Diff line number Diff line change @@ -163,4 +163,16 @@ void main() {
163
163
'abaabababababaababfaba' ,
164
164
]);
165
165
});
166
+
167
+ test ('validate match' , () {
168
+ final validate =
169
+ ValidationBuilder ().match ('password123' , 'Values do not match' ).build ();
170
+
171
+ checkValidation (validate, validValues: [
172
+ 'password123' ,
173
+ ], invalidValues: [
174
+ 'wrongpassword' ,
175
+ 'pass123' ,
176
+ ]);
177
+ });
166
178
}
You can’t perform that action at this time.
0 commit comments