|  | @@ -169,4 +169,24 @@ class validator:
 | 
											
												
													
														|  |          if not isinstance(value, Number):
 |  |          if not isinstance(value, Number):
 | 
											
												
													
														|  |              raise argument_exception(f"Аргумент не является числом (type={type(value)})")
 |  |              raise argument_exception(f"Аргумент не является числом (type={type(value)})")
 | 
											
												
													
														|  |          
 |  |          
 | 
											
												
													
														|  | 
 |  | +        return True
 | 
											
												
													
														|  | 
 |  | +    
 | 
											
												
													
														|  | 
 |  | +    def check_collection_all(self, value, method):
 | 
											
												
													
														|  | 
 |  | +        """
 | 
											
												
													
														|  | 
 |  | +            Валидация коллекции по соответствию лямбде
 | 
											
												
													
														|  | 
 |  | +        Args:
 | 
											
												
													
														|  | 
 |  | +            value: Передаваемая коллекция
 | 
											
												
													
														|  | 
 |  | +            method: Лямбда-функция валидации
 | 
											
												
													
														|  | 
 |  | +        Raises:
 | 
											
												
													
														|  | 
 |  | +            argument_exception: Один из членов коллекции не прошел валидацию
 | 
											
												
													
														|  | 
 |  | +        """
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        for num, val in enumerate(value):
 | 
											
												
													
														|  | 
 |  | +            try:
 | 
											
												
													
														|  | 
 |  | +                if not method(val):
 | 
											
												
													
														|  | 
 |  | +                    raise argument_exception("Член коллекции не прошел валидацию")
 | 
											
												
													
														|  | 
 |  | +            except argument_exception as exc:
 | 
											
												
													
														|  | 
 |  | +                raise argument_exception(f"Один из членов коллекции не прошел валидацию \
 | 
											
												
													
														|  | 
 |  | +                                         ({exc.error.error_text} on item #{num})")
 | 
											
												
													
														|  | 
 |  | +            
 | 
											
												
													
														|  |          return True
 |  |          return True
 |