Jquery Keypress + .val() issues
<p>I am trying to perform validation on some fields by binding a function to the keypress event.  </p>

<p>I make several custom validation objects and place them in an array validations (full code not shown):</p>

<pre><code>    {"id": "DE-mname", "events":"keypress", "func": function(obj){
        return validator.name($(obj).val()) || $(obj).isEmpty();
    }
</code></pre>

<p>and attach it to certain components using the following method and a custom jquery plugin:</p>

<pre><code>DataEntry.prototype.attachValidators = function(){
        var x, validation;
        for(x in this.validations)
        {
            validation = this.validations[x];
            $("#" + validation.id).attachValidation(validation.events,validation.func); 
        }
};

/**
 *
 * @param {String} Events - a string of events you want validation to execute on
 * should be delimited by a space.
 * @param (Function) validateFunc - a function used to determine if the field is valid,
 * must return true, truthy, false or falsey values, the function may accept an object
 * as the first parameter which will be the selected jquery object.
 */
(function($){
    $.fn.extend({
        attachValidation: function(events, validateFunc){
            events += " validate";
            return this.each(function(){
                var that = this;
                $(this).bind(events, function(event){
                    if (validateFunc(that, event)) {
                        $(that).removeClass("error");
                    }
                    else {
                        $(that).addClass("error");
                    }
                    jq(this).trigger("errorAttached");
                });
            });
        }
    });
})(jQuery
</code></pre>

<p><strong>The problem I am experiencing is that when the keypress event is fired and the validation function checks the .val() of a textbox component, the new value does not contain the current key being pressed.</strong></p>

<p>For example: If I clicked in an input field and hit the '$' key, $(obj).val()) would return an empty string, instead of $.  I would like to retrieve the value with the key currently being pressed. <strong>Please note that I cannot switch to the keyup event</strong></p>
