[ https://issues.apache.org/jira/browse/PIVOT-612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Noel Grandin resolved PIVOT-612. -------------------------------- Fix Version/s: 2.0 Resolution: Fixed > TextInput validator problem when modifying selected text > -------------------------------------------------------- > > Key: PIVOT-612 > URL: https://issues.apache.org/jira/browse/PIVOT-612 > Project: Pivot > Issue Type: Bug > Affects Versions: 1.5 > Reporter: A.J. > Fix For: 2.0 > > > I have a validator on a textinput with strict validation set to true; > The validator tries to match the text against a pattern. > Everything is fine until i try to modify text that is selected (either > partially or completely). > And this because validation does not take into account that selected text > should be replaced by typed characters; > instead, it is trying to validate the concatenation of the new character and > the actual text instead of replacing the selected part of the text. > (lines 1059-1063 in class TerraTextInputSkin) > I don't know if I'm clear. > Consider this (pretty stupid) example that tries to accept only one digit in > the text input : > TextInput textInput = new TextInput(); > textInput.setMaximumLength(1); > textInput.setStrictValidation(true); > textInput.setValidator(new Validator() { > @Override > public boolean isValid(String text) { > if (text.length() == 0) > return true; // ok we accept empty field > return text.length() == 1 && > Character.isDigit(text.charAt(0)); > } > }); > > BoxPane boxPane = new BoxPane(Orientation.HORIZONTAL); > boxPane.add(textInput); > boxPane.add(new PushButton("Test")); > window.setContent(boxPane); > Steps: > 1. start app. > 2. put focus in textinput (should be empty) > 3. enter a digit, ex : '5'; ok this should work > 4. move focus on button then move focus back on textinput > 5. text is selected in textinput > 6. try to replace the selected value ('5') by another digit by simply typing > it > ==> doesnt work (while it should) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.