@@ -14,38 +14,46 @@ const pristine = new Pristine(formElement, {
1414
1515const hashtag = / ^ # [ a - z а - я ё 0 - 9 ] { 1 , 19 } $ / i;
1616
17- const isHashtagValid = ( value ) => hashtag . test ( value ) ;
17+ const convertHashtags = ( value ) => value . trim ( ) . toLowerCase ( ) . split ( / \s + / ) ;
1818
19- const isEveryHashtagValid = ( hashtags ) => hashtags . every ( ( item ) => isHashtagValid ( item ) ) ;
19+ const checkHashtagValid = ( value ) => hashtag . test ( value ) ;
2020
21- const isHashtagsCountValid = ( hashtags ) => hashtags . length <= MAX_HASHTAGS_COUNT ;
21+ const checkEveryHashtagValid = ( hashtags ) => hashtags . every ( ( item ) => checkHashtagValid ( item ) ) ;
2222
23- const isHashtagsUnique = ( hashtags ) => new Set ( hashtags ) . size === hashtags . length ;
23+ const checkHashtagsCountValid = ( hashtags ) => hashtags . length <= MAX_HASHTAGS_COUNT ;
24+
25+ const checkHashtagsUnique = ( hashtags ) => new Set ( hashtags ) . size === hashtags . length ;
26+
27+ let isEveryHashtagValid = true ;
28+ let isHashtagsCountValid = true ;
29+ let isHashtagsUnique = true ;
2430
2531const validateHashtagsField = ( value ) => {
26- if ( ! value ) {
32+ if ( ! value . trim ( ) ) {
2733 return true ;
2834 }
2935
30- const hashtags = value . trim ( ) . split ( / \s + / ) ;
36+ const hashtags = convertHashtags ( value ) ;
3137
32- return isEveryHashtagValid ( hashtags ) && isHashtagsCountValid ( hashtags ) && isHashtagsUnique ( hashtags ) ;
38+ isEveryHashtagValid = checkEveryHashtagValid ( hashtags ) ;
39+ isHashtagsCountValid = checkHashtagsCountValid ( hashtags ) ;
40+ isHashtagsUnique = checkHashtagsUnique ( hashtags ) ;
41+
42+ return isEveryHashtagValid && isHashtagsCountValid && isHashtagsUnique ;
3343} ;
3444
3545const validateDescriptionField = ( value ) => value . length <= MAX_DESCRIPTION_LENGTH ;
3646
37- const getHashtagsErrorMessage = ( value ) => {
38- const hashtags = value . trim ( ) . split ( / \s + / ) ;
39-
40- if ( ! isEveryHashtagValid ( hashtags ) ) {
47+ const getHashtagsErrorMessage = ( ) => {
48+ if ( ! isEveryHashtagValid ) {
4149 return 'Невалидный хэштег' ;
4250 }
4351
44- if ( ! isHashtagsUnique ( hashtags ) ) {
52+ if ( ! isHashtagsUnique ) {
4553 return 'Хэштеги повторяются' ;
4654 }
4755
48- if ( ! isHashtagsCountValid ( hashtags ) ) {
56+ if ( ! isHashtagsCountValid ) {
4957 return 'Не более 5 хэштегов' ;
5058 }
5159} ;
0 commit comments