UI Bean Input Length Validation

We use a Flex Bean in our Page
<oa:flex id="EgoCatalogGroupKeyFlex" flexStyle="key" flexFieldAppShortName="INV" flexName="MICG" viewName="EgoCatalogGroupsVO"/>
We are facing issues with Inputting Multibyte Characters through the UI , ie : when we give Multibyte Characters in the Flex UI , we are getting DML Exception on commit from the DB Layer.
Since the Flex Bean UI is dynamic (Number of segments enabled), and generated by Framework we can not set the length of the Beans for Flex UI.
Does OA Flex bean takes care of the segment Lengths of the Flex Field ? or can we set this length programatically for the Segment Beans?
Please help.

You will have to enable partial page page rendering(PPR) on that input bean and call the validation code on catching this ppr. You can check PPR section of OAF guide or search forum threads for examples.
--Shiv                                                                                                                                                                                                                                                                                                                                                                                                                                           

Similar Messages

  • Message text input Length validation

    hi
    requirement :
    user must enter exact lenght of 5 (not less or not more) charcters in text input.
    How to handle this validation.
    i understand that we can set maximum lenght for text input bean to 5. but how to handle minimum number of charcter
    ( do i have to handle in code ?)..is that only way ?
    thanks for your time and effort

    You will have to enable partial page page rendering(PPR) on that input bean and call the validation code on catching this ppr. You can check PPR section of OAF guide or search forum threads for examples.
    --Shiv                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • ABAP - input data validation

    I have been trying to look through the forum for means of input data validation to no vail. It is necessary to validate data before saving in database. There is an interface IF_WD_VALIDATION out there which seems to handle this task but no more information is provided on how to use it. Does anyone know more about it?
    By validation, I mean verification of:
    data type
    data value (min value, max value)
    data dependence (a<b, or a>b)
    Your suggestion is appreciated.

    There is more solution to validate fields.
    If you import adaptiev RFC model, Dynpro will make validation.
    Secend vay is to put validation in setters function and raise exception if is not valide
    public void setName(String name)
      if(name.length() > 100) throw new Exception("name is to loong");
      this.name = name;
    or mabie more simpliest is to make boolean function check()
    If you want stop workflow in not valide case you can do with
    wdComponentAPI.getMessageManager().raiseException("message", true)

  • Field length validations

    Hi All,
    In my application, I have to give a set of inputs...and will get the output on the basis of range set. If I dont give any input, then also BAPI will fetch all the data.
    I have to set length validations(fixed, maximum) without using simple type.
    How this can be achieved ?
    Thanks,
    Nikhil

    hi Rocio, It works. But i'm doing the validation for a column in my table. So, i want the red mark to be in the right row (right now, its always in the last row). Also, i want to stop any other actions, navigations etcs when this validation fails even for a single row. How could i achieve this? Here is my code. I have written my code in wdModify view as i felt thats the best place to make the validation work in every instance.
    if (wdContext.nodeVn_ContactPersonaDetails().size() > 0) {
                        for (int size = 0;
                             size < wdContext.nodeVn_ContactPersonaDetails().size();
                             size++) {
                             String attrValue =
                                  wdContext
                                       .nodeVn_ContactPersonaDetails()
                                       .getVn_ContactPersonaDetailsElementAt(size)
                                       .getVa_lastName();
                             if (attrValue == null) {
                                  IPrivateCreateCustomerInputView
                                       .IVn_ContactPersonaDetailsElement neCnt =
                                       wdContext.currentVn_ContactPersonaDetailsElement();
                                  wdThis
                                       .wdGetAPI()
                                       .getComponent()
                                       .getMessageManager()
                                       .reportInvalidContextAttributeException(
                                            neCnt,
                                            wdContext
                                                 .nodeVn_ContactPersonaDetails()
                                                 .getNodeInfo()
                                                 .getAttribute(
                                                 "va_lastName"),
                                            "Last Name field must be filled!",
                                            false);
                                  break;

  • Length Validator

    Hi All,
    I used Length Validator on few attributes in Entity Object. It works fine and gives validation error on UI when validation for textfields fails.
    But, I Do Not want those extra JBO thinggy appearing on UI. How can I get rid of that JBO thiggy (Just "First Name: - FirstName exceeds max limit of 22" looks cool ). How do I suppress JBO thing not to appear. thanks pp
    I have pasted following sample.
    Error
    JBO-27024: Failed to validate a row with key oracle.jbo.Key[[email protected] ] of type GeminiLoginAppModule.TableUsersView
    JBO-27025: Failed to validate attribute FirstName with value dfjkdshfjkdshfjksdhfjkdshfjdshfjdshfjkdhfdsf
    JBO-27025: Failed to validate attribute LastName with value sdfdsfdsfdsfsdfsdhjkfdsjkfhjkdshfjkdshfjkdshfjskdfs
    First Name: - JBO-27010: Attribute set with value dfjkdshfjkdshfjksdhfjkdshfjdshfjdshfjkdhfdsf for FirstName in GeminiLoginAppModule.TableUsersView has invalid precision/scale
    First Name: - FirstName exceeds max limit of 22
    Last Name: - JBO-27010: Attribute set with value sdfdsfdsfdsfsdfsdhjkfdsjkfhjkdshfjkdshfjkdshfjskdfs for LastName in GeminiLoginAppModule.TableUsersView has invalid precision/scale
    Last Name: - LastName exceeds max limit of 22

    Hi,
    didn't try if th SRDemo code also works for validators, I assume this however. Get SRDemo from help--> check for updates
    Expand the UserInterface project and also the node ApplicationSources-->oracle.srdemo.view --> frameworkExt
    The package contains a page lifecycle class that in combination with the other classes intercepts JBO error messages to eliminate the JBO-xxxxx content
    See the faces-config.xml file how this is added
    Frank

  • Want to change length validator message and change field format.

    I want to override Length Validator Message as I want to tell the user that phone number
    must contain 10 numbers
    I've added this validator on the phone field
    af:validateLength minimum="10" maximum="10"
                                   hintMinimum="11" hintMaximum="22"
                                   hintNotInRange="33" messageDetailMinimum="44"
                                   messageDetailMaximum="55"
                                   messageDetailNotInRange="66" id="lengthval"/>and this when I enter less than 10 numbers the error message tell that you must enter 10 characters
    I want to override this message to be "you must enter 10 numbers"
    And I want to make this number format like
    XXXX,XXX,XX
    How can I make this.

    Strictly speaking a number in this format is no number. It's a phone number and you should use a regular expression validator for this.
    Check http://docs.oracle.com/cd/E15051_01/apirefs.1111/e12419/tagdoc/af_validateRegExp.html for more info.
    Timo

  • Problem with Length validation in entity

    hi,
    I wanted to do length validation on entity, but when i put greater than 3 then my system is working if i enter 3 then it's giving error, i have taken Length Rule type also.

    Hi,
    What is the rule you specified? and What is the requirement?
    Sireesha

  • Is there a API in flex to validate given IPV6 input is valid?

    Hi,
    I am trying to validate the given IPv6 input is valid or not. Is there an API available in flex which will help in doing this?
    Thanks

    By subordinate if you mean, all users for which the given user is a manager ? ? If that is the case the use the following:
                   Hashtable mhSearchCriteria = new Hashtable();
                   mhSearchCriteria.put("Users.Manager Login", "managerUserLogin");
                   tcResultSet moResultSet = moUserUtility.findUsers(mhSearchCriteria);
    If you want something else, let me know.
    Thanks
    Sunny

  • ORA-28232: invalid input length for obfuscation toolkit

    hi,
    i am facing this error when i enterd more then 8 charecter in the input string.
    ORA-28232: invalid input length for obfuscation toolkit
    why i cant user more then 8 charecter for password.?

    Rajnish Chauhan wrote:
    hi,
    i am facing this error when i enterd more then 8 charecter in the input string.
    ORA-28232: invalid input length for obfuscation toolkit
    why i cant user more then 8 charecter for password.?
    28232, 0000, "invalid input length for obfuscation toolkit"
    // *Cause:  Length of data submitted for encryption or decryption is not a
    //          multiple of 8 bytes.
    // *Action: Make sure that the length of the data to be encrypted or decrypted
    //          is a multiple of 8 bytes.since you did not share with us exactly what you did, we can say exactly what you did wrong.
    How do I ask a question on the forums?
    SQL and PL/SQL FAQ

  • How to increase maximum input length of a short text object in SE63

    Hi All,
    In se63 translation transport when a object name is provided for short text translation, fields like technical information, modified/ Decision Required and maximum input length are displayed, how can maximum input length of a text can be increased if we want to enter more characters than specified in the maximum input length field.
    Regards,
    Shruthi

    Increase the length of the source field, which you are translating..
    Cheers!
    Mishra

  • Javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8

    Hello!
    I have encrypted/decrypted one String with DES. I tried to do so on one computer and it seams to work fine. But what I realy want is to encrypt 3 String: username, id, and password, and send them to server. On server I want to decrypt them, and use them to check in database if the person exist. I save this 3 String in an ArrayList, and use ObjectInput/OutputStream to send and receive. Here is some of my code(I hope it is enough for you to help me solve this problem,othervice I will send more).
    I get this error: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher
    public class CryptDecryptString {
    public byte[] cryptString( String password) throws UnsupportedEncodingException, InvalidKeyException, NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException{
    byte [] plainTextPassword = password.getBytes("UTF-8");
    System.out.println(new String(plainTextPassword,"UTF-8"));
    //SecureRandom sr = new SecureRandom();
    String nyckeln = "HELLOHEJ";
    byte rawKeyData[] = nyckeln.getBytes();
    DESKeySpec dks = new DESKeySpec(rawKeyData);
    SecretKey key = SecretKeyFactory.getInstance("DES").generateSecret(dks);
    Cipher cipher=Cipher.getInstance("DES");
    cipher.init(Cipher.ENCRYPT_MODE, key);//, sr);
         System.out.println("\nStart encryption:");
    cipher.init(Cipher.ENCRYPT_MODE,key);
         byte[] cipherTextPassword=cipher.doFinal(plainTextPassword);
         System.out.println("Finish encryption:");
         System.out.println(new String(cipherTextPassword));
    return cipherTextPassword;
    }// end cryptString
    public byte[]decryptString(byte[] cipherTextPassword) throws InvalidKeyException, NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException {
    String nyckeln = "HELLOHEJ";
    byte rawKeyData[] = nyckeln.getBytes();
    DESKeySpec dks = new DESKeySpec(rawKeyData);
    SecretKey key = SecretKeyFactory.getInstance("DES").generateSecret(dks);
    Cipher cipher=Cipher.getInstance("DES");
         System.out.println("\nStart decryption:");
    cipher.init(Cipher.DECRYPT_MODE,key);
         byte[] plainTextPassword=cipher.doFinal(cipherTextPassword);
         System.out.println(" Finnish decryption:");
         System.out.println(new String(plainTextPassword,"UTF-8"));
    return plainTextPassword;
    }// end decryptString
    {public boolean TryLogin(String uname, String insID, String pass) throws Exception{
            connect();
            //sendOutStream = new DataOutputStream(socket.getOutputStream());
            sendOutStream = new ObjectOutputStream(socket.getOutputStream());
            InputStream inpuStream;
            inpuStream = socket.getInputStream();
            BufferedReader in= new BufferedReader(new InputStreamReader(inpuStreamtext s));
            CryptDecryptString cryptString = new CryptDecryptString();
          String krypteradeUname = cryptString.cryptString(uname);
           String krypteradeInsID = cryptString.cryptString(insID);
            String krypteradePass = cryptString.cryptString(pass);
            ArrayList<String> loggInPersonInfo= new ArrayList<String>();
                                   loggInPersonInfo.add(krypteradeUname);
                                   loggInPersonInfo.add(krypteradeInsID);
                                   loggInPersonInfo.add(krypteradePass);
                                   Object[] elements = loggInPersonInfo.toArray();
    for(int i=0; i < elements.length ; i++)
    System.out.println(elements);
    sendOutStream.writeObject(loggInPersonInfo);
    sendOutStream.close();
    sendOutStream.flush();
    System.out.println("Skickade information...");
    int line = in.read();
    if(line > 0){
    user_id = line;
    return true;
    }else{
    return false;

    Here is the rest of code
    public void CheckLogin() throws SQLException, IOException, InterruptedException, InvalidKeyException, NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, Exception{
    /**InputStream inpuStream;
    inpuStream = client.getInputStream();
    BufferedInputStream in= new BufferedInputStream(inpuStream);//(new BufferedReader(inpuStream));
    inpuStream = client.getInputStream();
    ObjectInputStream objectIn = new ObjectInputStream(inpuStream);
    ArrayList<String> personLoggIn = new ArrayList<String>();
    String krypteradeUname;
    String krypteradeInsID ;
    String krypteradePass ;
    personLoggIn = null;
    personLoggIn = (ArrayList<String>)objectIn.readObject();
    for (int i=0;i<personLoggIn.size();i++) {
    krypteradeUname=personLoggIn.get(0);
    krypteradeInsID =personLoggIn.get(1);
    krypteradePass = personLoggIn.get(2);
    System.out.println(i);
    inpuStream.close();
    CryptDecryptString decryptString = new CryptDecryptString();
    byte[] byteUname = decryptString.decryptString((krypteradeUname.getBytes()));
    String username = new String(byteUname);
    byte[] byteInsID = decryptString.decryptString((krypteradeInsID.getBytes()));
    String instanceID = new String(byteInsID);
    byte[] bytePassword = decryptString.decryptString((krypteradePass.getBytes()));
    String password = new String(bytePassword);
    Please help!
    Thanks!

  • Input field validation in a Table based on the value of other column

    Hi all
    I have a table with 2 columns. column1 is of text view and  column2 is Input field.
    The user should not be allowed to enter a value  in the column2 ( input field) greater than the value populated in column1(textview).
    So for Eg; if the column1 is populated with value 100, The user should not be able to enter a number greater than 100 in the column2  input field.
    Please let me how this can be achieved.
    I appreciate the help.
    Thanks

    Hi,
    Let me make sure u r working with table control.
    First u have to create a event(VALIDATE) to do the validation.
    Inside the event,
    1. First get the current index where user has pointed the curson
    2. Once u get the index read the internal table with index value.
    3. Now u can compare the col1 and col2 values and populate the error message.
    1. DATA : lo_elt TYPE REF TO if_wd_context_element,
                   l_index type i.
    lo_elt = wdevent->get_context_element( name = 'CONTEXT_ELEMENT' ).
         CALL METHOD LO_ELT->GET_INDEX( RECEIVING  MY_INDEX = l_index.
    above code should be written inside the event.
    Thanks,

  • Input parameter validation

    Hi,
    I have a parameter input p_window. I need to validate the input . The values entered should be either 1,2,3,4,5,6,7 .
    Please sujjest me some ways of doing the validation..
    regards
    Avi..

    Go for  at selection-screen on p_window event..
    assuming the declaration as..
    parameters p_window type i.
    <b>at selection-screen on p_window. (** or u can use at selection-screen event also )
    if p_window is not between 1 and 7.
    error message
    endif.</b>
    regards,
    sai ramesh

  • Ejb3 entity bean not generating valid sql for postgres 8.1

    Hello,
    I originally posted this on the jboss seam board as I ran across this error on a seam test example, but it seems it's more generally applicable to ejb3 entity beans not generating sql that postgres can understand. I'll post my message below, all replies are appreciated.
    I'm going through the hello world example from the seam book, and I'm getting an error I cannot resolve, that with an auto generated sql statement, that's not valid for postgres 8.1, the database I'm on. Here's my error:
    17:40:31,370 INFO [STDOUT] Hibernate: select next value for person_id_seq from dual_person_id_seq
    17:40:31,394 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: 42601
    17:40:31,394 ERROR [JDBCExceptionReporter] ERROR: syntax error at or near "value"
    17:40:31,396 FATAL [application] javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not get next sequence value
    javax.faces.el.EvaluationException: javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not get next sequence value
    Here's the table definition
    - create table Person (id bigint not null, name varchar(255), primary key (id))
    - create table dual_person_id_seq (zero integer)
    - create sequence person_id_seq start with 1 increment by 1
    and here's the entity bean:
    @Entity
    @Name("person")
    @Table(name="person")
    @SequenceGenerator(name="person_sequence", sequenceName="person_id_seq")
    public class Person implements Serializable {
    private long id;
    private String name;
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="person_sequence")
    public long getId() { return id;}
    public void setId(long id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    How do I get it to generate a valid sql statement for postgres?

    I think you should try putting the sequence generator annotation over the primary key field. Try it and be sure it works.
    regards,
    Michael

  • Handling Events in Train Bean to perform validation

    Hi All,
    I have requirement of adding validation logic on clicking 'Next' button in train bean. on Next button clicks validation logic works fine as expected but on Back button is causing the below exception.
    Not sure where is the issue?
    code used inside controller :
    if (!pageContext.isBackNavigationFired(false) && "goto".equals(pageContext.getParameter(EVENT_PARAM)))
    validate_opco_site((String)pageContext.getTransactionValue("supplierRegId"),pageContext,webBean );
    code for validation procedure:
    public void validate_opco_site(String supplierId,OAPageContext oapagecontext,OAWebBean oawebbean )
    OAApplicationModule am = oapagecontext.getApplicationModule(oawebbean);
    OAViewObject regOpCosVO = (OAViewObject)am.findViewObject("AsiPosSupplierOpCosVO1");
    AsiPosSupplierOpCosVORowImpl row = null;
    int fetchedRowCount = regOpCosVO.getFetchedRowCount();
    RowSetIterator createIterlist5 = regOpCosVO.createRowSetIterator("createIter5");
    if(fetchedRowCount > 0)
    createIterlist5.setRangeStart(0);
    createIterlist5.setRangeSize(fetchedRowCount);
    for(int i = 0; i < fetchedRowCount; i++) {
    row = (AsiPosSupplierOpCosVORowImpl)createIterlist5.getRowAtRangeIndex(i);
    try
    Connection conn = oapagecontext.getApplicationModule(oawebbean).getOADBTransaction().getJdbcConnection();
    String Query = "SELECT COUNT(1) SITE_CNT FROM TABLE1 a ,TABLE2 b WHERE a.address_id = b.address_id AND a.CREATE_SITE='Y'AND b.ID = :1 AND a.CODE = :2";
    PreparedStatement stmt = conn.prepareStatement(Query);
    stmt.setString(1,supplierId);
    stmt.setString(2,row.getSupplierOpcoCode());
    for(ResultSet resultset = stmt.executeQuery(); resultset.next();)
    int result = resultset.getInt("SITE_CNT");
    if(result > 1)
    throw new OAException("Error in Creating Site for Supplier", OAException.ERROR);
    catch(SQLException e)
    throw new OAException(e.getMessage());
    createIterlist5.closeRowSetIterator();
    Exception Details.
    oracle.apps.fnd.framework.OAException: oracle.jbo.NameClashException: JBO-25001: Name createIter5 of object type View Row Set Iterator already exists

    Hi Sirisha,
              You can get the event code for Enter because you have regitered in the event reciever .
    But for the SAVE you will have to set in the PF-status of the screen and not the ALV-grid save .
    Please award if helpful.

Maybe you are looking for

  • [MSI PRO MOD] Nocturnal Hunter by RandomDesign

    Introduction Hi everyone! My name is Stefan and I’m a 28-year-old student at Heidelberg University in Germany.  My subject is “Transcultural Studies” which focuses on the interactions between Asia and Europe in a global context.  In my leisure time,

  • Question on iphone backup & restoring on another persons itunes.

    I backed up my iphone on my sisters computer with all her files like music, photos, movies, & so on, because I have to get a replacement for a damaged phone My question now is, when i come to restore the new iphone will all my phones entire data and

  • Laserjet 5000 Network problems (wrong driver??)

    Greetings! I have posted this on a hp forum just two days ago, but either there are about a trillion new messages each day and the search doesn't work, or hp have multiple forums. Anyways, I'd be great if someone had a solution to my problem: I have

  • Assets Master Data List

    Hi All, I have created all the assets and need to extract the report of master data list which show descripation 1, descripation2, serial number, capitalized etc appear as per below screen shot. Please advise how i extract this type of report. Descri

  • EDI FOR MATERIAL CREATION AND CHANGE

    Hello all, I have a requirement that when a material is created it whole detial about that material is saved at a given location as idoc. ie EDI configration. How know to configure EDI process order. How can we do for material creation.