Actionscript 3 :: Validation And Invalidation In Flex
Jun 23, 2010I am new in flex and recently read about Validation and Invalidation in components.
View 2 RepliesI am new in flex and recently read about Validation and Invalidation in components.
View 2 RepliesI've created a custom textInput componenet that handles it's own validation using a private validator. The validation is enabled depending on the state of the component i.e. validation is enable when the components state is "edit".However, when the state changes from edit the internal validator is set to not enabled but the validation errors on the textbox do not clear - the textInput still has the red border and on mouseover the validation errors come up. What I want to happen is that when a validator is disabled the error formatting and error messages clear from the text input control.
Does anyone have any idea how to do this I tried setting the internal validator instance to enabled = false and dispatching a new focusOutEvent as below but the validation error formatting is still applied to the textInput contrl.
_validatorInstance.enabled = false;
//clear the validation errors if any
dispatchEvent(new FocusEvent(FocusEvent.FOCUS_OUT));
[code].....
Create a tab navigator (or viewstack, whatever) and add a couple tabs. On your tab add a show event handler. Inside the event handler call invalidateProperties() and invalidateDisplayList() on one of the children of your tab. Put a break point on the childs commitProperties() and updateDisplayList(). You'll notice that the updateDisplayList() gets called before commitProperties() which results in incorrect behaviour.
I noticed this problem when setting a DataGrid's dataprovider from inside the show handler. Setting the dataProvider causes the grid to invalidate both properties and displayList, updateDisplayList() will get called first, then commitProperties() which will result in the grid not updating the rows. It appears the root of the problem is that the show event gets dispatched from within LayoutManagers validateDisplayList() loop, so invalidating a child object from within the show handler results in its updateDisplayList() getting called immediately.
[Code]....
Adobe help document said, "When a component calls an invalidation method, it signals to Flex that the component must be updated. When multiple components call invalidation methods, Flex coordinates updates so that they all occur together during the next screen update."
[Code]...
I am working on a character terminal emulator. Glyphs are 8x8, 1bit raw bitmaps There are 256 glyphs in the palette. A character buffer is a grid of single bytes, referencing the various glyphs in the palette 256 glyph palette.Essentially a character buffer is a big blocky bitmap, only instead of pixels it has glyphs.Rendering the character buffer is a rather quick, self-contained job in theory. The memory required is very low and the execution time is similar to a hardware blit.
It is redundant to have a 'back buffer', i.e. a BitmapData to store a rendering of the character buffer. it's too costly in memory and way overkill for the complexity of what is being rendered.I want to know if it is possible to feed data to the video memory similar to the way it is done with SampleDataEvents. I do not want to store a redundant BitmapData object since some of these character buffers are huge and rarely need to be rendered all at once. They only need to be 'invalidated', i.e. they only need to update small portions at a time as they are 'exposed'.
I have searched high and low and read the manual a million times. The closest thing I could find were the stage.invalidate() and RENDER events, but they don't seem to give me a rectangular area to feed data to. I also tried extending Bitmap, but could not figure out how to override it's default behaviour of reading pixels from a BitmapData.An example of what I'm doing can be found when using GTK's DrawingArea widget and it's 'expose' events, used for very fast rendering.
I'm having a problem that involves scrollRect and getBounds. In short, getBounds is reporting an old value not accounting for scrollRect changes during that frame. Example:
ActionScript Code:
var shape:Shape = new Shape();
shape.graphics.beginFill(0);
[code].....
i have a problem while username and password validation.i retrieved data (username and password)from an xml doc using http service but the problem is that i have to verify the username and password entered by he user with the username and password of the xml doc...
my xml doc is as follows:
<employees>
<employee>[code]....
I'm getting the "Error #1009: Cannot access a property or method of a null object reference." error on my application. Is there a function I can use to detect this before it causes an error... maybe something like:
isValid(variableName);
I know there's one, because i've used it before, but i can't remember what it is right now.
I have a XLSX file which contain 2 columns 1 being a formatted date, time or datetime field and other being the relavant format string of type FLEX. So this file contains Flex date format string with formatted value. This files can be contain more than one thousand such combination records. [code]What i need to know is, is there anyway that i can validate this given date , time or date time values at right side are formmated according to given FLEX format in the left side.
View 2 RepliesI have a Flex 3 app with a view in a viewstack, and that view must only be created when requested. I have declared validators for each of the controls on the view and I have created a method called checkAllValid() which runs Validator.validateAll(). This works great when I'm actually using the controls (using the change or focusOut events), but how can I get checkAllValid() to run when the view is first displayed to the user, so that they are immediately shown what is invalid once the data is populated in the controls?
I have tried putting the call in various events on the view itself (e.g. creationComplete, updateComplete, show, activate, etc.) but it always shows the following error when I start the application:
'The source attribute must be specified when the property attribute is specified.'
I have also tried setting the creationPolicy on the view to "all" but this does not help.
Some of the validators are only enabled when the form is in a certain state, but I have eliminated that as being the potential problem by commenting out all of my validators except for this most simple one:
[Code]....
I have also tried calling the single validator directly rather than using validateAll and the result is the same.
There must be a way I can force the view to validate when it is shown....
(by the way it's in the Cairngorm MVC framework and I have data bound to the controls)
I want the validator for password text input.
At least one Upper case letter
At least one numeric character
At least one special character such as @, #, $, etc.
should be there in password how can i give it in action script or mxml.
How to remove validation programmatically from flex componentThis is my method
public static function validateRequired(txt:TextInput, errorMessage:String="This field is required"):Boolean
{
[code]....
I might be taking crazy pills but has anyone actually gotten the errorSkin feature to work? I am not doing anything crazy, just extending TextInput (spark) and setting the errorSkin property.I have tried creating a skin using SparkSkin, did nothing.I have tried creating a skin using ProgrammaticSkin, did nothing.TextInput is always a red border. I know you can set errorColor and errorString but I am obviously looking to do more than just change the color of the border. I am compiling using Flex 4.1.
Implimentation:
<components:PromptedTextInput id="txt"
width="200"
[code].....
is it possible to check if there is any item in a list?
View 3 RepliesI'd like to use tooltips with the same design as the error/validation tooltips (rounded box with a tip pointing to the mouse's position).Given the name "error/validation tooltips", it bothers me to use them as normal tooltips.I haven't found people having the same "principles" issue as myself..So, is it that bad to use the error/validation tooltips as normal tooltips? And, if yes, what would be the easiest way to re-use its design without rewriting much code?
View 2 RepliesThe examples I've seen seem to show how to change the color that shows when the user actually hovers over the textinput field.
However when the validation fails, a generic textInput border qill have a red line over it. My CSS file uses a border skin for the textInput, so I can't see this line.
I was hoping there was a way to highlight the text box when it failed validation, or re-enable the red line feature. I don't want to get rid of my CSS cos it'll totally blow my color-scheme, but any tweak allowing the error line
This is the CSS:
TextInput, TextArea
{
border-skin: Embed(source='/../assets/images/input_bg.png', scaleGridLeft=8, scaleGridRight=20, scaleGridTop=8,scaleGridBottom=9);
[Code]....
I am seeing a strange issue in flex. I need to reset all text input fields to 0 once the
user submits the values to be calculated. In the method
private function calculate():void {
resetToZero();
var num:Number = parseFloat(s21.text);
[code].....
I'm a new grad, so please be kind. I'm working on validating input in a Flex DataGrid cell that the user can edit. The rows in the DataGrid are backed by an mx.collections.ArrayCollection that includes a [Bindable]Model that I wrote. I want to validate against a custom client-side Validator, if-and-only-if that passes I want to validate the input on the server. If client-side validation fails, I want to display the normal validation error (see image below). If server-side validation fails, I want to use the same sort of UI components to notify the user. The solution should not include any external framework (Cairngorm or PureMVC).
[Code]...
How do Flex programmers validate on the server, immediately after the valid client-side validation passes?
I realize it seems silly to search out this "synchronous" design and I hope someone has an answer to solve my problem with best practices. In my defense, the reason I want to validate on the server immediately following client-side validation is so that I'm using Flex's validation framework. If I get an invalid response from the server, I want to leverage the built-in UI components that Flex has to tell the user something is incorrect about his/her input.
I am getting a number of spurious warnings in my CSS files within my Flex project. Any way to tweak which warnings are displayed in Eclipse like I do with Java?
View 1 RepliesI was creating a form. Certian fields of the form store all of those IDs to a single field separated by a comma or semicolon. how to send the mail id's for email validation which is providing by flex by default.
View 1 RepliesI have text input boxes. There is validation for each of the boxes using numberValidator. Now, the thing is that am using alert box to show if any error occurs.
Flowchart ::
1> Insert value in textBox.
2> NumberValidator validates the input on "trigger=change".
3> If error, alert message is displayed. The user clicks OK to go back to form.
4> Focus set back to the TextBox.
5> But, alert box makes the text input value blank / null. i.e. Both the previous error value entered by user and the default correct value will not be displayed now.
Display the most recent correct value that was entered in the text box. Not the default of any other, but the most recent correct value entered by the user.
When a Validator (i.e. StringValidator, NumberValidator, etc) dispatches an invalid event due to validation failure, the errorString property of the source control (i.e. TextInput) is set to a non-empty string which creates a red border around the control and shows an toolTip (errorTip) ONLY when the mouse hovers over the control. Question: Can you force immediate display of the toolTip (errorTip) rather than waiting for the user to hover over the control? If so, how?
View 2 RepliesReproduce problem:
run code
click checkbox
click on the first input box
enter: 100
The red glowing error box should have disappeared, but it will disappear when you focus on another component e.g. the second input box. If you refersh the screen, click the checkbox, and TAB onto the first input box, type 100, the error glow will disappear as I expected. This is what I want for click also.
[code]...
I have a form with a horizontal layout and with this TextInput:
<s:TextInput id="platformNameTI" showErrorSkin="true" showErrorTip="true"/>
I have a simple validator that just checks if there is something entered (required field). My problem is as the layout is horizontal, when an error occurred (required file missing), all form items are shifted because of the error icon. Is there a way to delete that annoying icon or force the component to not display it?
I've created a form based flex app that populates some fields on startup. I'd like to validate that several text fields/labels are not null on startup. If any required fields are null I"ll throw and alert and close the app. There are only 4-5 fields that I need to check.
View 5 RepliesI am doing some forms in Flash Cs4 with AS3. The forms are working well, but i have a code to check if people have enter information in every field. But the verification only works for 2 field. The code is exactly the same for the other but it doesn't work. Can you double check my code and maybe explain me why it doesn't work or maybe how to replace the validation code by another.
[Code]...
I'm making a small memory game that is XML driven (users can upload images into the game). I've come to the point where I need to check if the user has filled out certain nodes or not, and if so; check that the input is valid - int when int is expected and whatnot.
What are the ways to check this, and which is best? So far I've only tried checking if a node is == "" or not, but I imagine there must be better ways. I will include lots of switches for the user which should all be optional. This calls for a neat way to validate it.
I am using URL Loader to hit the server (e.g. Yahoo server) and then listing to HTTPStatusEvent.HTTP_STATUS" listener for Status code 200. If the response code is 200 then form submits to database else I am giving the error "URL is not valid".I am running my application from Tomcat server using address Issue: On submiting the form Flash returns "SecurityError stating "form.swf" cannot access data on "Yahoo server".I have also placed a crossdomain.xml file on the server with allowDomain set to wildcard "*";
View 3 RepliesOn the stage:Textfield called "inputTXT".And a button called "Go". All I am trying to accomplish here is to have the input characters validated to be ONLY numbers and max 5. However, I don't want to use:"inputTXT.restrict = "0123456789".
Instead I would like to check if the characters entered after pressing the "go" btn, are within the defined parameters above (numbers and max5). If yes, then I need to pass a URL, if not then I need to display an error message.
I have tried to make validation code for an input box (flash 8) however I cant seem to get it to work, heres the code i have
allow = new Array(" ","a","b","c","d","e","f","g","h","i","j","k","l", "m","n","o","p","q","r","s","t","u","v","w","x","y ","z"," ","A","B","C","D","E","F","G","H","I","J","K","L", "M","N","O","P","Q","R","S","T","U","V","W","X","Y ","Z");
function validate(user_name){
[code]....
The basic gist is that it runs throught the input box and checks if the letters are in the array,and if they are it adds 1 to temp2 then at the end it checks how many characters are in the input box, and if they equal == temp2 then it goes to the next scene, else it says "Please....etc" The PROBLEM is that if the user types in a letter twice, such as " HELLO" then the code only counts 1 L instead of 2 L's. so then it throws out the sum because it wont be correct.