0

I use the Livevalidation successful in Standard-Forms. When i use the Valdidation in modified Forms by JavaScript it won’t work reliable.

It should work like these instructions:

<Input type="Ratio" value="1">: Validation for "Submit" not necessary
<Input type="Ratio" value="-1">: Validation necessary
<Input type="Ratio" value="-2">: Validation necessary

The first Problem:

  • when i select "value -1" Livevalidation don´t work
  • when i select "value -2" Livevalidation works
  • when i select "value -1" (after -2) Livevalidation works

The second Problem:

  • when i select "value 1" i can "Submit" the form
  • but....
  • when i select "value -1" or "value -2" and Livevalidation is active
  • then i select "value 1" (Livevalidation not necessary) i can not "submit" the form

    <script type="text/javascript">
    function changeState(state) {
    
       var id = parseInt(state);
    
       if (id >= 0)
       {
            $('#new_delivery_address').hide("slow");
            $('#packstation').remove();
    
            // Livevalidation
            var title = new LiveValidation('title');
            var firstName = new LiveValidation('firstName');
            var lastName = new LiveValidation('lastName');
            var firm = new LiveValidation('firm');
            var street = new LiveValidation('street');
            var streetnumber = new LiveValidation('streetnumber');  
            var street2 = new LiveValidation('street2');        
            var plz = new LiveValidation('plz');    
            var city = new LiveValidation('city');  
            var tel = new LiveValidation('tel');
    
            title.destroy(true);
            firstName.destroy(true);
            lastName.destroy(true);
            firm.destroy(true);
            street.destroy(true);
            streetnumber.destroy(true);
            street2.destroy(true);
            plz.destroy(true);
            city.destroy(true);
            tel.destroy(true);
        }
       if (id == -2) 
       {
    
            // Code
            // Code
            // ...
    
            // Livevalidierung
            var title = new LiveValidation('title');
            var firstName = new LiveValidation('firstName');
            var lastName = new LiveValidation('lastName');
            var firm = new LiveValidation('firm');
            var street = new LiveValidation('street');
            var street2 = new LiveValidation('street2');        
            var plz = new LiveValidation('plz');    
            var city = new LiveValidation('city');  
            var tel = new LiveValidation('tel');    
    
            firstName.add( Validate.Presence);
            lastName.add( Validate.Presence);
            street.add(Validate.Presence);
            street2.add(Validate.Presence);
            plz.add(Validate.Presence);             
            plz.add(Validate.Numericality);
            plz.add(Validate.Length, { minimum: 4, maximum: 5 } );
            city.add(Validate.Presence);
            streetnumber.destroy(true);
       }
       if (id == -1)
       {
    
            // Code
            // Code
            // ...
    
            // Livevalidierung
            var title = new LiveValidation('title');
            var firstName = new LiveValidation('firstName');
            var lastName = new LiveValidation('lastName');
            var firm = new LiveValidation('firm');
            var street = new LiveValidation('street');
            var streetnumber = new LiveValidation('streetnumber');      
            var street2 = new LiveValidation('street2');        
            var plz = new LiveValidation('plz');    
            var city = new LiveValidation('city');  
            var tel = new LiveValidation('tel');    
    
            firstName.add( Validate.Presence);
            lastName.add( Validate.Presence);
            street.add(Validate.Presence);
            streetnumber.add(Validate.Presence);
            plz.add(Validate.Presence);             
            plz.add(Validate.Numericality);
            plz.add(Validate.Length, { minimum: 4, maximum: 5 } );
            city.add(Validate.Presence);
            street2.destroy(true);
       }
    }
    
    function 123 () {
        // Code
        // Code
        // ...
    }
    

feder
  • 15
  • 4

1 Answers1

0

Now i had found a solution for "The second Problem:....can not "submit" the form"

I worked in Addition with the arguments disable(function) and enable(function)

    <script type="text/javascript">
function changeState(state) {

   var id = parseInt(state);

   if (id >= 0)
   {
        $('#new_delivery_address').hide("slow");
        $('#packstation').remove();

        // Livevalidation
        var title = new LiveValidation('title');
        var firstName = new LiveValidation('firstName');
        var lastName = new LiveValidation('lastName');
        var firm = new LiveValidation('firm');
        var street = new LiveValidation('street');
        var streetnumber = new LiveValidation('streetnumber');      
        var street2 = new LiveValidation('street2');        
        var plz = new LiveValidation('plz');    
        var city = new LiveValidation('city');  
        var tel = new LiveValidation('tel');    

        title.destroy(true);
        firstName.destroy(true);
        lastName.destroy(true);
        firm.destroy(true);
        street.destroy(true);
        streetnumber.destroy(true);
        street2.destroy(true);
        plz.destroy(true);
        city.destroy(true);
        tel.destroy(true);

        title.disable(true);
        firstName.disable(true);
        lastName.disable(true);
        firm.disable(true);
        street.disable(true);
        streetnumber.disable(true);
        street2.disable(true);
        plz.disable(true);
        city.disable(true);
        tel.disable(true);
    }
   if (id == -2) 
   {

        // Code
        // Code
        // ...

        // Livevalidierung
        var title = new LiveValidation('title');
        var firstName = new LiveValidation('firstName');
        var lastName = new LiveValidation('lastName');
        var firm = new LiveValidation('firm');
        var street = new LiveValidation('street');
        var street2 = new LiveValidation('street2');        
        var plz = new LiveValidation('plz');    
        var city = new LiveValidation('city');  
        var tel = new LiveValidation('tel');    

        title.enable(true);
        firstName.enable(true);
        lastName.enable(true);
        firm.enable(true);
        street.enable(true);
        street2.enable(true);
        plz.enable(true);
        city.enable(true);
        tel.enable(true);

        lastName.add(Validate.Presence);
        street.add(Validate.Presence);
        street2.add(Validate.Presence);
        plz.add(Validate.Presence);             
        plz.add(Validate.Numericality);
        plz.add(Validate.Length, { minimum: 4, maximum: 5 } );
        city.add(Validate.Presence);
        streetnumber.destroy(true);
        streetnumber.remove(true);  
   }
   if (id == -1)
   {

        // Code
        // Code
        // ...

        // Livevalidierung
        var title = new LiveValidation('title');
        var firstName = new LiveValidation('firstName');
        var lastName = new LiveValidation('lastName');
        var firm = new LiveValidation('firm');
        var street = new LiveValidation('street');
        var streetnumber = new LiveValidation('streetnumber');      
        var street2 = new LiveValidation('street2');        
        var plz = new LiveValidation('plz');    
        var city = new LiveValidation('city');  
        var tel = new LiveValidation('tel');    

        title.enable(true);
        firstName.enable(true);
        lastName.enable(true);
        firm.enable(true);
        street.enable(true);
        streetnumber.enable(true);
        street2.enable(true);
        plz.enable(true);
        city.enable(true);
        tel.enable(true);

        lastName.add(Validate.Presence);
        street.add(Validate.Presence);
        streetnumber.add(Validate.Presence);
        plz.add(Validate.Presence);             
        plz.add(Validate.Numericality);
        plz.add(Validate.Length, { minimum: 4, maximum: 5 } );
        city.add(Validate.Presence);
        street2.destroy(true);
        street2.remove(true);   
   }
}

function 123 () {
    // Code
    // Code
    // ...
}

But the "First Problem" is still existing:

  • when i select "value -1" Livevalidation don´t work
  • when i select "value -2" Livevalidation works
  • when i select "value -1" (after -2) Livevalidation works also

and now additional with the disable/enable-function also:

  • when i select "value -1" input-fields are enabled
  • then i select "value 1" input-fields are disbled
  • when i select "value -1" again input-fields are still disbled!!
  • only when i select "value -2"
  • then select "value -1" again input-fields works
feder
  • 15
  • 4