Example #1
0
def password_validator(request):
    # Заполненость бара пароля - зависит от длины пароля
    if not request.POST.get('password', 0):
        bar_width = 0
    elif len(request.POST.get('password', 0)) >= PASSWORD_MAX_LENGTH:
        bar_width = 100
    else:
        bar_width = int((float(len(request.POST.get('password', 0)))/PASSWORD_MAX_LENGTH)*100)
    # В случае отсутствия ошибок вернутся следующие поля
    result = {'success': True,
              'bar_type': 'progress-success',
              'error_messages': '',
              'width': bar_width}
    try:
        only_ansi_symbols(request.POST.get('password'))
        complexity(request.POST.get('password'))
        dictionary_words(request.POST.get('password'))
        validate_length(request.POST.get('password'))
        common_sequences(request.POST.get('password'))
        if PASSWORD_WITHOUT_WHITESPACES:
            validate_whitespaces(request.POST.get('password'))
    except ValidationError, err:
        # произошла ошибка валидации
        result = {'success': False,
                  'error_messages': err.messages[0],
                  'width': bar_width,
                  'bar_type': 'progress-danger'}
Example #2
0
 def validate_password(self, value):
     """Check password constraints."""
     try:
         validators.validate_length(value)
         validators.complexity(value)
     except ValidationError as exc:
         raise serializers.ValidationError(exc.messages[0])
     return value
Example #3
0
    def clean_password1(self):
        password = self.cleaned_data['password1']

        validate_length(password)
        common_sequences(password)
        complexity(password)

        return password
Example #4
0
 def validate_password(self, value):
     """Check password constraints."""
     try:
         validators.validate_length(value)
         validators.complexity(value)
     except ValidationError as exc:
         raise serializers.ValidationError(exc.messages[0])
     return value
Example #5
0
 def clean_password1(self):
     password = self.cleaned_data['password1']
     
     validate_length(password)  
     common_sequences(password)
     complexity(password)
     
     return password
    def validate(self, data):
        data = super(AccountSerializer, self).validate(data)
        user = self.context['request'].user
        old_pwd = data.get('old_password')
        new_pwd = data.get('new_password')
        confirm_pwd = data.get('confirm_password')

        if new_pwd:
            try:
                validators.validate_password(password=new_pwd)
                password_validators.complexity(new_pwd)
                password_validators.common_sequences(new_pwd)
                password_validators.validate_length(new_pwd)
            except exceptions.ValidationError as e:
                raise serializers.ValidationError(
                    {'new_password': [e.messages]})
            if new_pwd != confirm_pwd:
                raise serializers.ValidationError(
                    {'new_password': [constants.PASSWORD_MISMATCH_ERROR]})
            if not user.check_password(old_pwd):
                raise serializers.ValidationError(
                    {'old_password': [constants.INVALID_PASSWORD_ERROR]})

        return data
 def validate_password(self, password):
     password_validators.complexity(password)
     password_validators.common_sequences(password)
     password_validators.validate_length(password)
     return password