Automatic Trimming on Bindings Based Input Text
Hi,
Is there a way in ADF to automatically trim spaces when using bindings?
I drag out from data control and it goes like this.
<af:inputText value="#{bindings.City.inputValue}"/>
<af:inputText value="#{bindings.Street.inputValue}"/>But say if user, entered sample data City = "Minnesota "
Take note of the space, it is being sent to the web service as it is.
Is there a way to configure the binding declaratively so that it would trim the space?
I know I could do this with Java and I am just looking out for an alternative way.
JDEV 11g PS5
Web Service
No without java, but I would write a converter and use this on the inputText fields.
There is nothing out of the box which trims the string. You can use a regular expression validator, but this only gives the user a warning message.
Timo
Similar Messages
-
How to add comma and dollar sign that places automatically in input text field
I have this ROI calculator which has several text input field
on frame one with calculate and reset buttons. When a user enters
numerical values in the text field, and jumping to the next field,
I want the input text filed be updated with dollar sign and with
comma.
Next when they hit "ENTER" key or click "Calculate ROI"
button, all the input text fields on frame 2 as a result of
calculations be updated with dollar sign and comma. I also need
that once the comma sign is assigned then it would not add any more
even if user presses the button. Can someone help me in
this?If you want to Set the Comma when you Switch to next Text
Field
Use onKillFocus / onSetFocus Functions.
to restrict multiple comma, Before Adding comma use
myText.text =
myText.text.split(",").join("").split("$").join("");
So this will give you the value without Comma and Dollar
symbol, Now add the Comma and dollar.
or you need to use a Flag for onChange Event. -
Input text query results based on input text
<input type="text" name="textfield2" />
hello
i have this input text and i also have a query that contains
where field = '#form.input#'
it is still not displaying the results .
is there a book or a article on how to do this.
i just needed to have a input box /text where a user can
enter a alphanumeric and outputs the query result.
how do you do this?
would you guys like to see the code??The tag is an Input tad, the input's type is text, it's name
is
textfield2. Your query should have something like field =
'#form.textfield2#'
From the documentation:
http://livedocs.macromedia.com/coldfusion/7/htmldocs/00001252.htm
jermainestudent wrote:
> <input type="text" name="textfield2" />
>
>
>
> hello
> i have this input text and i also have a query that
contains where field =
> '#form.input#'
>
>
> it is still not displaying the results .
> is there a book or a article on how to do this.
>
> i just needed to have a input box /text where a user can
enter a alphanumeric
> and outputs the query result.
>
> how do you do this?
>
> would you guys like to see the code??
> -
Need to implement auto suggest with multiple select in a input text field
Hi,
Jdev Ver: 11.1.1.4
My requirement is to create an input field where i can provide auto suggest and user can enter multiple email ids. It is similar to current "To" field while composing a mail in Gmail.
Problem:
I have implemented input box with auto suggest. For the first entry it works fine. when i enter 2nd value(i have used ',' (comma) as separator and handled it in 'suggestItems' bean method to take sub-string after comma for providing the suggestion) , after selection.... the first value get lost. So at a time only one value is selected in the input text.
Input text:
<af:inputText label="Names" id="it21" rows="2"
columns="50" simple="true"
valueChangeListener="#{VisitBackingBean.visitMembersInputBoxCL}"
binding="#{VisitBackingBean.visitMembersInputBox}">
<af:autoSuggestBehavior suggestItems="#{VisitBackingBean.onSuggest}"/>
</af:inputText>
Bean Method:
public List onSuggest(FacesContext facesContext,
AutoSuggestUIHints autoSuggestUIHints) {
BindingContext bctx = BindingContext.getCurrent();
BindingContainer bindings = bctx.getCurrentBindingsEntry();
String inputNamevalue = autoSuggestUIHints.getSubmittedValue().trim();
if(inputNamevalue.contains(",")) {
inputNamevalue = inputNamevalue.substring(inputNamevalue.lastIndexOf(",")+1).trim();
//create suggestion list
List<SelectItem> items = new ArrayList<SelectItem>();
// if (autoSuggestUIHints.getSubmittedValue().length() > 3) {
OperationBinding setVariable =
(OperationBinding)bindings.get("setnameSearch");
setVariable.getParamsMap().put("value",
inputNamevalue);
setVariable.execute();
//the data in the suggest list is queried by a tree binding.
JUCtrlHierBinding hierBinding =
(JUCtrlHierBinding)bindings.get("AutoSuggestName_TUserROView1");
//re-query the list based on the new bind variable values
hierBinding.executeQuery();
//The rangeSet, the list of queries entries, is of type //JUCtrlValueBndingRef.
List<JUCtrlValueBindingRef> displayDataList =
hierBinding.getRangeSet();
for (JUCtrlValueBindingRef displayData : displayDataList) {
Row rw = displayData.getRow();
//populate the SelectItem list
items.add(new SelectItem(rw.getAttribute("UsrUserName").toString().trim() +
"<" +
rw.getAttribute("UsrMailId").toString().trim() +
">",
rw.getAttribute("UsrUserName").toString().trim() +
"<" +
rw.getAttribute("UsrMailId").toString().trim() +
">"));
return items;
Please suggest how can i achieve the mentioned functionality.Hi,
doesn't work this way as the suggest list returns a single value. You can actually use the existing values as a prefix to the new value in which case the suggest list would look a bit odd. Beside of this all you can do is to create a user lookup field with auto suggest and once a name is selected, update another field with the value returned from this action
Frank -
Left Align for the input text in ADF
Hi,
When I drag and drop the data control in my jsp page, Automatically all the fields are aligned at the center of the page. But I want to align the input text fields to the left of the page. I have only valign which will give me top, bottom and center options.
Is there any property which will help me in aligning it left?
Please help me.
Thanks,
Haripriya.SI think you forgot to close the rowLayout tag.
<afh:rowLayout binding="#{backing_test.rowLayout1}" id="rowLayout1" halign="left">
<af:panelForm binding="#{backing_test.panelForm1}" id="panelForm1">
<af:inputText value="#{bindings.direccion.inputValue}"
label="#{bindings.direccion.label}"
columns="#{bindings.direccion.displayWidth}"
id="inputText1">
</af:inputText>
</af:panelForm>
</afh:rowLayout> -
Auto increase the rows of Input Text
JDev 11.1.1.5.0 BPM SOA
Need to automatically increase the number of rows of an input text component according to the data. If the data is pretty large, display it in multiple rows or if it is small, display it in a single row.You can try to put a EL on the rows attribute which points to a bean method where you calculate the number of rows you want to show:
public Integer getRows() {
BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
AttributeBinding attr = (AttributeBinding)bindings.getControlBinding("myString1");
String str = (String)attr.getInputValue();
if (str == null)
return 1;
int len = str.length();
if (len <= 10) {
return 2;
} else if (len <= 20)
return 3;
else
return 4;
and on the page:
<af:inputText label="Label 3" id="it7"
value="#{bindings.myString1.inputValue}"
rows="#{Page1Bean.rows}" autoSubmit="true"/>
if the bean is registered under Page1Bean and the inputText vaule property is bound to "myString1".
Timo
Message was edited by: TimoHahn -
How to get input text values from adf table - Urgent
Hi Friends,
This is my requirement. I designed customized master - detail - detail page. I customized the page in below format.
1. Master Data Field (Input text,etc) .
2. Detail in table format ( Rows are mapped to child table) and i given two buttons for to create row and delete row. I designed the table based on the example provided in forum for to create customized table. The input text component is mapped to the rows.
Now i want to retrieve all the data's entered in the rows. The table is mapped to child table. When i read the values from the table its showing null.
If any one faced this problem and fixed it, please send me the solution.
Thanks & Regards
VBDid you look into the valueChangeEvent?
It has oldValue and newValue attributes.
public void SaveMaterial(ValueChangeEvent valueChangeEvent) {
Object oldVal = valueChangeEvent.getOldValue();
Object newVal = valueChangeEvent.getNewValue();
// check if you see what you are looking for.....
getSelectedRow();
SaveMaterial(material);
}Timo -
How to use multiple patterns for masking/format the input text
Hi All,
I am using Jdeveloper 11.1.1.5 and i have a requirement where i need to format my input Text value in these below patterns:-
Format
Example
AA9A 9AA
EC1A 1BB
A9A 9AA
W1A 1HQ
A9 9AA
M1 1AA
B33 8TH
A99 9AA
AA9 9AA
CR2 6XH
DN55 1PT
AA99 9AA
For Example :- If user puts value as EC1A1BB, it should automatically changed to EC1A 1BB
if user puts value as W1A1HQ, it should be automatically changed to W1A 1HQ and so on..
If it could have been one format , i might have followed this :- https://blogs.oracle.com/jdevotnharvest/entry/get_social_security_numbers_right
But for multiple patterns i am not able to get through to the proper solution.
Is there any way to achieve this ? Please suggest.
Regards,
ShahFor the validation you should be able to use one regular expression where you add the logical or (|) (check the doc http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html) between the groups. If none of the patterns matches you have an error.
For the for formatting I'm not sure you can use only one expression.
I suggest to write one method which does the checking on and the formatting may be using an array of patterns to check and iterate the patterns in a loop. Once you found a match you can read the needed format from another array (or an other dimension if you prefer to use a multidimensional array).
Timo -
How can i validate current row input text field like required.
Hi All,
jdev 11.1.2.1.0
in my use case i have drag drop one viewobject as a adf table. and in table i have also add one extra input text field which is not based on
vo.
now i want to validate current row input text field not null when i commit row.
but when i using required property true. it worked for all row in table. problem is that i want only current row input text field validate not all
thanks,
ManishWhen the user tries commit the data by clicking on the button -- For that button, have the logic in the actionlistener method to check if the additional input field is NULL or NOT.
If it is NULL, show an error message using FacesContext.addMessage() API.
Thanks,
Navaneeth -
How can i show input text when no row present in database.
Hi All,
I am using Jdeveloper 11g Release1(11.1.1.4.0)
I have created EO and VO which is based on that EO.
By using Vo i have designed .jspx page ,on that page i have taken adf form which is based on that VO.
My problem is when database table is blank (i.e zero row) then input text on page not displayed.
I want to show blank input text when such condition occurs.
Thanks
Imran.Hi,
You can set ExecuteWithParams as default activity in the task flow then method activity to return total no of rows passing to Router activity if your method has value 0 then call Create insert operation else do directly to page.
Following idea could be your task flow
Execute With param (default) > SetCurrentRowWithKey > GetTotalNoOfRows (VOImpl Method)
|
v
Router
1. If pageFlowScope outcome is 0 then call CreateInsert > MyPage
2. if pageFlowScope outcome > 0 then MyPage
hope it helps,
Zeeshan -
How to allow input text field to accept more than one "specific" answer.
Hi,
I am working for something and trying to create a type-box-based quiz for one of my classes, where an input text field can change it's border color if 2 or more words from an accepted word list is inputed.
For example, Say a list has possible answers: R,G, B, Y for the question "Name 2 colors".
I want to create an input text box where the border of the box will change color if any 2 letters (in the above list) are entered into it.
I've tried setting up a variable NumberSuccesses and setting it so that the number increases by 1 for each letter entered e.g.
if (Ex.text == "R");
NumSuc = NumSuc +1; // the var NumSuc has already been defined earlier in the code
If (Ex.text ''G")
NumSuc = NumSuc + 1
if (NumSuc == 2)
Ex.borderColor = 0x0000FF
but that didn't work.. and I tried doing it with another function which I use for multiple input boxes like if there were boxes A, B, C. I could set up a general function where if the correct answers were entered into A, B, an C respectively, only then will say, a checkmark show up using a
EnableCheckmark (); type function. Not sure how to do it if it's the same text input box though. Also just tried adding it into the same function re.
If (Ex.text == "R" + "G")
Ex.borderColor = 0x0000FF
.. Does anyone know what else I can do?The solution of Nishu with Evaluation Logic:
//These Are the Possible Answers
var solutions:Array = new Array("A","B","C","D");
function testInput(_inputText:String):Boolean
//the delimiter could also be a comma, here it is a space
var inputStringArray:Array = _inputText.split(" ");
var counter:Number = 0;
for (var i:int=0; i<inputStringArray.length; i++)
for (var j:int=0; j<solutions.length; j++)
if (inputStringArray[i]== solutions[j])
counter++;
if (counter >=2)
trace("true");
return true;
else
trace("false");
return false;
//Textfield with name input_txt on stage
input_txt.addEventListener(TextEvent.TEXT_INPUT, answerTxtInp);
// The function that will be called by the event listener
function answerTxtInp(txtEvent:TextEvent):void
// depending on the possible answers of characters, change the border color
if(testInput(input_txt.text)){
input_txt.borderColor = 0xFF0000;
else{
input_txt.borderColor = 0x000000; -
How to get values of all input text of a form?
Hi,
I would like to know how to get all input text value of a form?
I try this:
List values = new ArrayList();
values = getBindings().getAttributeBindings();
for (Iterator iterator = values.iterator(); iterator.hasNext();) {
Object o = iterator.next();
if (o != null) {
if (o instanceof FacesCtrlAttrsBinding) {
System.out.println("Trace iterator=" + ((FacesCtrlAttrsBinding)o).getName());
src
In my jspx, I use panelTabbed component which is in af:form
With this code, I get all bindings name.
So I change the [structure |http://h.imagehost.org/0922/jdev.png] putting af:form in each item of my af:panelTabbed without succes.
The code trace all bindings again, and I just want to get the input text of the form (like *$_POST*, or *$_GET* in php)
How to do that?
Thanks for your help.Hi,
I try this:
private UIComponent getUIComponent(String name) {
FacesContext facesCtx = FacesContext.getCurrentInstance();
return facesCtx.getViewRoot().findComponent(name) ;
src
I post the structure again.
I try:
// f1 id of af:form
UIComponent test = getUIComponent("f1");
test is not null
// pfl1 id of af:panelFormLayout
UIComponent test = getUIComponent("pfl1");
but here test is null
I try
// f1 id of af:form
// pt1 id of af:pageTemplate
// pt2 id of af:panelTabbed
// sdi1 id of af:showDetailItem
// ps1 id of af:panelSplitter
// pgl32 id of af:panelGroupLayout
// pfl1 id of af:panelFormLayout
UIComponent test = getUIComponent("f1:pt1:pt2:sdi1:ps1:pgl32:pfl1");but I have this:
Error 500--Internal Server Error
javax.servlet.ServletException: java.lang.IllegalArgumentException: f1So I add
private static final char SEPARATOR_CHAR = ':';But I have the same error.
getUIComponent returns null with pt2,sdi1, ps1, pgl32, pfl1 and not null with f1, pt1.
I don't know why...
How can I get children (af:inputText) of pfl1 ?
Thanks -
Validation on Disabled input text
it seems <af:validateRegExp cannot work inside a <af:inputText disabled='true'>, is there any easy way to have this client side validation on a disabled input text in ADF?
I am wondering if you could create a transient attribute in the EO that displays the data from the attribute. The "real" attribute would not be disabled, and would then validate.
You then display the transient attribute on the form, and it would be non-update-able since it is transient.
You could then place entity level validation on the entity (instead of on the attribute) since it is based on a second value in your form. Haven't tested it, but it would seem to be a solution.
Stuart -
Trying to auto commit after input text value change
Hello, I have created a page that contains an input text box. When the user changes something in the input text box, I want to fire off a commit operation.
As of now, I have valueChangeListener of the inputText set to a method on my managed bean which then grabs the commit operation from my bindings container and executes it.
At that point, I would expect the changes to a the input text box to be saved after a user modifies it. However, it doesn't seem to be working, because when I refresh the page, the mod I made to the text is not there. The input text still reflects the text that was there before I made a change.
Anyone know what's happening here?? And how I can make it work?Hi Timo,
Thanks for the response. I tried that, and my commit function in my bean was getting called, but the data still wasnt "REALLY" getting saved.
I had to bind my input text to a property in managed bean, and call
inputText.processUpdates(FacesContext.getCurrentInstance());
doCommit(); // method that simply calls the commit method in my binding container, and does a few other things.
For simplicity I just bound the panel that all my input components were child of. In this case it was a DecorativeBox. So I bound the DecorativeBox to my bean and just did
decBox.processUpdates(....)
doCommit();
That way all my child input components were updated before the commit took place. That seemed to do the trick nicely (-;
Edited by: Fonz Desselle on Mar 25, 2013 11:42 AM -
Can we hide the real value of input text box and show other value in ADF?
Hi All,
I have a table in which i have one the column as "Quantity" and text box as "quantity" :-
<af:column sortProperty="quantity" filterable="true"
sortable="true" headerText="Quantity" id="c3"
width="60"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive">
<div align="center">
*<af:inputText value="#{row.bindings.quantity.inputValue}"*
label="#{bindings.queryProductResponseType.hints.quantity.label}"
required="#{bindings.queryProductResponseType.hints.quantity.mandatory}"
columns="#{bindings.queryProductResponseType.hints.quantity.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.quantity.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.quantity.tooltip}"
id="it5" partialTriggers="it19"
readOnly="#{row.activeYN == 'N'}">
<f:validator binding="#{row.bindings.quantity.validator}"/>
<af:validateRegExp pattern="^[1-9]+[0-9]*$"
messageDetailNoMatch="Quantity must be in whole number format."/>
</af:inputText>
</div>
</af:column>
Now when the user will enter say 400 in input text box "quantity" , the value should be divided in the same row to other column text box say "conversion" which holds the value as 40 , so if the division doesn't give any remainder(means remainder =0 ) means real value(400/40) = 10 then it should set the value of input text box "quantity" as 10 but the user should be able to see 400 which he/she entered before, as we want to send the 10 as request but we have to show 400 to the user and if remainder goes greater than 1 than it should show an error.
I have to implement this in value change listener of the text box as i need to calculate the real value each time for a row.
How should i implement this ?
Thanks .
Thanks.Thanks timo,
But can you give me full details how should i implement this as i am newbie to ADF. I have found the data control in Data controls tab in left hand side and right click on it -> edit definition -> but it does not give me the option to add attribute , it just give me the option to edit the existing attribute. Can you explain me how to add the transient attribute and how to implement it ? Any sample code snippet ?
Thanks.
Edited by: user13644804 on May 15, 2011 10:09 AM
Edited by: user13644804 on May 15, 2011 10:09 AM
Maybe you are looking for
-
select bleed_end_time from units@qlab where unit_id = 'W039712003127' BLEED_END_TIME 1/17/2012 8:10:00 AM from the system time I have to get the elapsed time (system time - bleed_end_time) As the unit_id and product_code is entered, we find the bleed
-
HT4692 Ok. Now how to I get the garageband file BACK onto my iPad?
Ok. I have successfully transferred garageband files from my ipad to my itunes into file sharing and then saved them onto my mac in a file. Now, the question is.... how do I (after deleting garageband files off of my ipad) put them BACK on??? My iP
-
i use a h-tree as menu. when-tree-node-activated -> open_form(...); each leaf-value is for a corresponding form. how can i ensure that each form can be opened only once? when someone clicks a node whichs form is already opened, the prog should jump t
-
Our technicians have been going through workstations and removing Dropbox. But this change does not appear in inventory. When looking at detailed inventory of some machines the next day, it still shows Dropbox under installed software. We have gone t
-
Relationship of color picker with the adjustment layers ...
Do you know why the color of color picker changes when using adjustment layers?