Not quite. Time for you to take remedial Javascript lessons. :smile: 

```objj
- (BOOL)getObjectValue:(id)anObject forString:(CPString)aString errorDescription:(CPString)anError
{
    // allows an empty string to pass without validation
    if (aString === @"")
        return YES;

    var value = [self numberFromString:aString],
        error = @"";
            
    if (!isFinite(value))
        error = @"Value is not a number";
    else if (_minimum !== nil && value < _minimum)
        error = @"Value is less than the minimum allowed value";
    else if (_maximum !== nil && value > _maximum)
        error = @"Value is greater than the maximum allowed value";

    if (error)
    {
        if (anError)
            AT_DEREF(anError, error);

        return NO;
    }

    AT_DEREF(anObject, value);
    return YES;
}
```

The user can pass nil for `anError`, thus the test.

If validation fails, we should leave `anObject` alone. The return value is the only thing the user should rely on. The Cocoa docs simply say:

```
If conversion is successful, upon return contains the object created from string.
```