JbiValidator calls the setAttribute to the old value when validate fails

I tried to implement a Custom Validator by extending a JboValidator Interface. I applied the validator to an attribute. I tested the the validation on a JSF page. When I input an invalid value on the attribute, the validator runs but the problem is the framework sets the value of the attribute to its old value by calling again the setter function (setAttribute()) which in turn calls the validator again.
This is what I have observed. If this is what the framework really does, then how can I suppress the firing of the validator when it sets it back to the old value?
regards,
Anton

Thanks to all for your responses. Regarding accessing of new value inside value change listener, I am sure ValueChangeEvent.getNewValue() is not going to give me the value with proper data type. I am not using immediate attribute anywhere but use custom domain data type with masking (i.e. Formatter Format). Also I use InputDate field. Always valueChangeEvent.getNewValue() gives me the string representation of the value but not with actual data type.
Question:
1. Is there any API, that gets the valueChangeEvent.getNewValue() and the UI components as parameters and return the data with proper data type?
2. I need to get the newly value with proper data type inside valueChangeListener. Is it achievable? If so, how?
Need your help.

Similar Messages

  • How to get the old value of the ValueChangeEvent

    I'm using the JSF component selectManyListbox. I have assigned a value change listener to it. When I try get the old value using getOldValue() of the ValueChangeEvent Im always getting a null value. The only value Im getting is from the method getNewValue(), which is the last item I clicked in the selectManyListbox items before submitting the whole form. Is there a way to get the old value of this component or Im doing something wrong?

    Here is the partial bean code
    public class TestUI extends PageCodeBase {
         private static Logger logger = Logger.getLogger(pagecode.protected1.TestUI.class);
         protected Object [] menuValue;
         protected Object [] listBoxValue;
         protected List allTaskCodes;
         * @return Returns the listBoxValue.
         public Object[] getListBoxValue() {
              return listBoxValue;
         * @param listBoxValue The listBoxValue to set.
         public void setListBoxValue(Object[] listBoxValue) {
              this.listBoxValue = listBoxValue;
    public void handleSelectManyListboxValueChange(
                   ValueChangeEvent vce) {
              logger.debug(".. first component was heard..");
              String[] s1 = (String[]) vce.getOldValue();
              String[] s2 = (String[]) vce.getNewValue();
              //vce.getComponent().
              if (s1!=null&&s1.length!=0) {
                   logger.debug("length of first array is " + s1.length );
              //for(int i=0; i<s1.length; i++)
                        logger.debug("value of old is " + s1[0] );
              if (s2!=null&&s2.length!=0) {
                   logger.debug("length of second array is " + s2.length );
                   //for(int i=0; i<s1.length; i++)
                        logger.debug("value of new is " + s2[0]);
    Here is the jsf code
    <h:selectManyListbox styleClass="selectManyListbox" id="listbox1"
                        size="3" valueChangeListener="#{pc_TestUI.handleSelectManyListboxValueChange}"
    onchange="submit()" value="#{pc_TestUI.listBoxValue}">
    <f:selectItem itemValue="value1" itemLabel="select1" />
                        <f:selectItem itemValue="Value2" itemLabel="select2" />
                        <f:selectItem itemValue="Value3" itemLabel="select3" />
    <f:selectItem itemValue="value4" itemLabel="select1" />
                        <f:selectItem itemValue="Value5" itemLabel="select2" />
                   </h:selectManyListbox>

  • Updating a row is not reflected after committing and it takes the old value

    Sir,
    I have been stuck at this problem for quite some time. So, I have a updatable table with editall property but i am controlling each column's read only property based on the value of the checkbox present in that table.So, if the user clicks on the checkbox ,the entire row becomes editable. But when i am changing the value of the row and pressing the commit button , it does not take the new value but the postback happens with the old value only. If i just drag the table as editall table and edit something , the commit button does reflect the change.
    How to solve this. Please help

    Frank,
    The reason i am not using the ClicktoEdit feature is because my aim is that the user clicks on multiple checkbox and then press the update button ,then all the checked rows becomes editable and the user can update them. But unfortunately, this feature is also not working .I am going step by step. So, i have checkboxes which the user can click to update them but it is not committing the change. Could u please help me or suggest some other way round. If u want any other information , please do ask.
    Thanks

  • Return Into.  Can I return the old value in an update statement?

    Hello - I have an update statement and I need the value of a field, prior to the update. Is it possible to use the Return Into to do this? Or do I have to have a separate select statement prior to the update statement in order to store that value in a variable?
    Thanks!

    RETURNING INTO is valid for an UPDATE, but it returns the new value, not the old value.
    SCOTT @ nx102 Local> select * from a;
          COL1
             4
    Elapsed: 00:00:00.00
    SCOTT @ nx102 Local> ed
    Wrote file afiedt.buf
      1  declare
      2    l_old_col1 number;
      3  begin
      4    update a
      5       set col1=col1+1
      6     returning col1 into l_old_col1;
      7    dbms_output.put_line( l_old_col1 );
      8* end;
    SCOTT @ nx102 Local> /
    5
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00If you are trying to track historical changes, have you looked at Workspace Manager? That can be far easier than writing your own change tracking code...
    Justin

  • Audit of attribute value change: is the old value available?

    When changing the value of an user attribute in the FIM Portal, the new attribute value is properly logged. This can be read in the request and in the standard report FIMUserHistory.
    The question is, what about the old value that was replaced? Is the old value available in the Data Warehouse somewhere, so one can make a report or is it gone forever (of course one can find the old value by looking at the previous attribute change or creation
    event, but this could be too long time ago)?
    Thanks for helping,
    Didier.

    As far I remember (I don't have access to test FIM Reporting now) in reports stored on Data Warehouse, there is no such thing as "old value". But as far I remember it, also very old data is stored there, so there can be something like:
    User: JJK003 -> New attribute (mail) value: [email protected] (12.12.2013)
    User: JJK003 -> New attribute (mail) value: [email protected] (12.02.2014)
    so, if you look closely to a history and sort it by user - you can determine what was the old value.
    http://technet.microsoft.com/en-us/library/jj133843(v=ws.10).aspx
    In report, you have always most recent display name of this user and of attribute's display name, but history should show what value was inserted long time ago and what value was set a week ago - than you know what value was there previously.
    But please be aware that users report, according to TechNet, does not include all properties:
    This report provides information about changes to key attributes on user resources in FIM, including account name, email, job title, and
    employee start/end date.
    Keep trying

  • Replacing the old value with new value on the website

    Hi ,
    I have two input fields CLIN # and PR#.When i enter the text,for the first it is working fine,second time when i enter it is replacing the value which i enter with the first one.I should not replace the old value.
    ex:
    Example when i enter test5 for the first time
    CLIN # :Test 5
    Next when i enter Test6 ,this value replaces the first one
    CLIN#: Test6
    CLIN#:Test6(there is no test5)
    I am doing for my istore application.Any ideas

    As the user that created the anonymous block ruun:
    select count(*) from general_acct_mast_table;
    and
    select tbaadm.count(*) from general_acct_mast_table;I strongly suspect that they are actually two different tables, and the tbaadm version is substantially larger that the non-qualified one.
    In any case I would not be doing this as a row-by-row procedure. I would create two lookup tables like:
    create table masked_general as
    select acid, foracid, round(dbms_random.value(81000000,85000000)) masked
    from (select distinct acid, foracid
          from general_acct_mast_table
          where acct_ownership not in ('O'));
    create table masked_stmnt as
    select * from masked_general;
    alter table masked_general add constraint masked_general_pk
       primary key (acid);
    alter table masked_stmnt add constraint masked_stmnt_pk
       primary key (foracid);Then do the updates as:
    update (select g.foracid, g.acid, gm.masked
            from general_acct_mast_table g
               join masked_general gm
                  on g.acid = gm.acid)
    set foracid = masked;
    update (select s.foracid, sm.masked
            from mini_stmnt_details_table s
               join masked_stmnt sm
                  on s.foracid = sm.acid)
    set foracid = masked;Note that this assumes that both acid and foracid are individually unique in general_acct_mast_table, which seems to be implied by your procedure, and that you want to be able to roll the whole thing back if there are problems (that is, you do not want to commit between the update of general_acct_mast_table and mini_stmnt_details_table).
    I would also probably a a verification step after creating the first masked table to ensire that you did get unique vluaes back fo the masked column.
    John

  • How to update table J_1IPART1,without replacing the old values

    Helllo Friends
    Problem:
    When I capture the  excisable document in T-code J1IEX, the table J_1IPART1 does not  get updated ,but when I do the good receipts by 101,then entry in the above table get updated ,by replacing the  previous entry.
    What should I do so that table J_1IPART2 hold all the captured values without replacing the old values.
    And after what time of interval do I need to update the register, is it on daily bases or on monthly bases

    Try these steps:
    1. Post MIGO without excise entry
    2. J1I5 - Update register for RG23A Part1 with classification ROP.
    3. Post excise Invoice through J1IEX
    You should update the register on daily basis.

  • Excel 2010 VB How do I get the old value of a changed cell?

    HI,I am tracking changes made to an unshared spreadsheet and the VB code below appears to be working well, but how can I modify the VB code to get the old value of the changed cell also?Private Sub Workbook_Open()
    Sheets("LogDetails").Visible = xlSheetVeryHidden
    End Sub
    Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    On Error Resume Next
    If Sheets("LogDetails").Visible = xlSheetVisible Then
    Sheets("LogDetails").Visible = xlSheetVeryHidden
    Else
    Sheets("logDetails").Visible = xlSheetVisible
    End If
    Target.Offset(1, 1).Select
    End Sub
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If ActiveSheet.Name "logDetails" Then
    Application.EnableEvents = False
    Sheets("LogDetails").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Value = ActiveSheet.Name & "-" & Target.Address(0,...
    This topic first appeared in the Spiceworks Community

    char s = '\u0153';
    int i = (int)s;
    System.out.println(Integer.toHexString(i));This works for a single character. For a String, use toCharArray() and loop through every character.
    String s = "SomeString";
    char[] c = s.toCharArray();
    for (int i = 0; i<c.length;i++) {
      System.out.println(Integer.toHexString((int)c));

  • Calling the YaST module `inst_proposal has failed.

    Hi!
    Well. SLES 11 SP2, trying to install/conf OES11 SP1, but ... during OES configuration I get error "Calling the YaST module `inst_proposal has failed.", just after common proxy user settings and "Initialize MICASA" on background. During install everything ... seems to ... did go ok. Now ... "worth reporting bug", probably I missed something.
    Any hints?
    More thanks, Alar.
    2013-01-30 18:44:19 <1> serv(28742) [YCP] installation/misc.ycp:1309 Calling `inst_proposal ($["enable_back":true, "enable_next":true, "proposal":"oes_product"]) returned nil
    2013-01-30 18:44:19 <1> serv(28742) [YCP] installation/misc.ycp:1330 Not running hooks at the end of the installation
    2013-01-30 18:44:19 <1> serv(28742) [ui] YPushButton.cc(setFunctionKey):204 Guessing button role YCancelButton for YPushButton "Quit" at 0x44dbee8 from function key F9
    2013-01-30 18:44:19 <1> serv(28742) [ui] YPushButton.cc(setFunctionKey):204 Guessing button role YOKButton for YPushButton "Next" at 0x44dc3b8 from function key F10

    Originally Posted by NovAlf
    I have this server on remote site and I trying to find out other ways to get this done. Sure, I've my own old server here at site and absolutely I prefer to reinstall all together.
    Do You think I have some options to-do reinstall at point I have remote access (via NX) to SLES 11SP2?
    More thanks, Alar.
    Does the remote SLES server (as from what you are saying we can assume it's physical) have any hardware console options? Like Dell DRAC or HP iLO?
    Also, I'm curious what the server is currently doing (and was doing). It was originally a plain SLES 11 SP1 server, or did it have OES11 (initial GM release) on it?
    Cheers,
    Willem

  • They changed the way we see our appointments. That's awful! Is there a way to chnage back to the "old" way when you could see all your appointments at a glance????

    They changed the way we see our appointments. That's awful! Is there a way to chnage back to the "old" way when you could see all your appointments at a glance????

    Maybe I'm fool, but how I get the "day view"? I have three options on the top line, an icon that seems a computer (a square and two lines), a magnifying glass to search a especific item and a "plus" to add appointments. The "day view" isn't any more there - that's the point!!! Using the first icon a get the full month-that uses 2/3 of the screen- and two lines of appointments...To see the rest I have to slide up and down the two lines taking care to not touch the month...

  • How do I restore my iphoto from external time machine if it isn't appearing when I go back to other dates? I can open the old library when I hold option, but it can't get it to stay.

    Please help.

    For TM questions there is a TM forum
    In general you launch Time machine and go back in time to the time you want - select the iPhoto library (by default in your pictures folder) and click restore
    What is the reason you are trying to restore an older iPhoto library?
    what does
    I can open the old library when I hold option, but it can't get it to stay.
    Mean?
    LN

  • My old computer died just after I transferred iTunes via external HD.  When I transferred the content from the HD to the new computer, most songs won't play.  Message is "Can't identify source".  Sharing was on in the old computer when it died.

    My old computer died just after I transferred iTunes via external HD.  When I transferred the content from the HD to the new computer, most songs won't play.  Message is "Can't identify source".  Sharing was on in the old computer when it died.

    Is there no ANSWER TO THIS PROBLEM?

  • I upgraded to the mew iMovie (purple star) vers 10.6 from the old I movie (yellow star) in the old one when i was done with my project i could finalize it and share it to idvd to burn a dvd, i don't see how to do that in the new iMovie.  is there a w

    i upgraded from the old imoive(yellow star) to the new iMovie(purple star) , in the old iMovie when i was done i was able to share my project to idvd, i don't see how to do this on the new iMovie. Does anyone know how to burn a dvd with your project from the new iMovie(purple star)?  if can't be done can i export my project to the old iMovie and burn to idvd like i used to?

    i did what you said and saved the file to my desktop, but how do i get it in idvd now, when i open idvd and point to the file on the desktop either by open existing project or trying to open a new project the file is greyed out and i can't select it

  • Issue using extractval to get the node value when there is namespace

    I created the db with a XMLType column:
    CREATE TABLE mytable1 (key_column VARCHAR2(10) PRIMARY KEY, xml_column1 XMLType);
    Then inserted one row:
    INSERT INTO mytable1 (key_column,xml_column1) VALUES ('test', XMLType('<MY_TEST xmlns="http://xmlns.oracle.com/ku" version="1.0">
    <SCHEMA>SYSTEM</SCHEMA>
    <NAME>TABLE41</NAME>
    <TEST_GROUP>TEST_GRP_RMP</TEST_GROUP>
    <TEST_NAME>DEPARTTEST</TEST_NAME>
    <FUNCTION_SCHEMA>SYSTEM</FUNCTION_SCHEMA>
    <TEST_FUNCTION>EXCLUDE_TABLE</TEST_FUNCTION>
    <STATEMENT_TYPE_LIST>
    <STATEMENT_TYPE_LIST_ENTRY>
    <NAME>SELECT</NAME>
    </STATEMENT_TYPE_LIST_ENTRY>
    </STATEMENT_TYPE_LIST>
    <UPDATE_CHECK>Y</UPDATE_CHECK>
    <ENABLE>Y</ENABLE>
    <STATIC_POLICY>N</STATIC_POLICY>
    <TEST_TYPE>DBMS_RLS.DYNAMIC</TEST_TYPE>
    <LONG_PREDICATE>N</LONG_PREDICATE>
    </MY_TEST>'));
    Then I ran:
    select extractValue(xml_column1,'MY_TEST/TEST_NAME') policy from mytable1;
    There is nothing returned.
    If i do not have "xmlns="http://xmlns.oracle.com/ku" " in MY_TEST node, then the correct value returned.
    Please advise how could I get the node value when there is namespace? Thanks.

    This is a known issue. In the third parameter of extractvalue, set the namesapce. Then it works.

  • How to make the LV front panel controls the current value through the program is set as the default value when the next time you open?

    How to make the LV front panel controls the current value through the programis set as the default value when the next time you open?
    1110340051 

    Try this: Re: How to make a VI remember the latest control value?
    Jim
    You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice

Maybe you are looking for

  • Getting error while provisioning user to AD  - OIM 11g R2

    Hi, I have installed the AD connector and I am able to do the user and group reconciliation between AD and OIM 11g R2. But when I am trying to provision the user to AD, I am getting the below error : oracle.iam.connectors.icfcommon.prov.ICProvisionin

  • "Unable to Download Podcast" error after upgrade to iOS7 - iPhone 4S

    Hey all, Since upgrading to iOS7 on my iPhone 4S, the Podcasts app is no longer able to download new Podcasts directly from the app. I keep getting the error "Unable to Download Podcast" with the option to Retry, which always fails. This happens on b

  • How to use  Javascript for anchors as I cant get it to work at all?

    I am currently trying to build my own web site using iweb 08. I am a total newby so this question is for anyone who knows about javascript, particularly Cyclosaurus. I have tried in vain to use Cyclosaurus's javascript for anchors in my FAQ's page vi

  • What is the best external hard drive to use with a macbook?

    I am looking to buy an external hard drive for my macbook pro (2010).  I understand that some hard drives have issues when used with Lion. Does anyone have any suggestions for which is the best to buy?

  • PSE8 and Windows 7 Bugs Confirmed by Adobe

    After spending over an hour with tech support, the second level technician confirmed that there are currently some incompatibilities with PSE 8 when interacting with other programs inside of Windows 7. Specifically, I have identified (and Adobe confi