Removing an error flag from a form field in Flex

Today I ran into a situation where I needed to clear the error flag from a form field in Flex. My code uses a datagrid to present a list of items to edit. You could click to edit an item, or click an Add button to add a new item.

I ran into a problem though. If I clicked to edit a field, hit cancel, and then hit Add, I was seeing the values from the previous edit in the form field. Well that was easy enough. I added this to my cancel operation:

username.text = ''; password.text = ''; firstname.text = ''; lastname.text = ''; email.text = '';

This worked, but when I returned to add an item, the form was displaying red borders around each field. My code to set the form items to empty strings was also triggering the form validation.

I did a bit of looking around in the API and couldn't find a simple way to "reset" the validators I had applied to my form. Turns out I found a solution on Adobe: Flex Quick Starts: Validating Data.

Turns out you can manually change a property on the text field. If you set errorString to an empty string, the red "You messed up" border goes away:

username.text = ''; username.errorString = ''; password.text = ''; password.errorString = ''; firstname.text = ''; firstname.errorString = ''; lastname.text = ''; lastname.errorString = ''; email.text = ''; email.errorString = '';

Feels a little hackish to me. Anyone know a nicer way?

Raymond Camden's Picture

About Raymond Camden

Raymond is a developer advocate. He focuses on JavaScript, serverless and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA