0

Standard-Forms で成功した Livevalidation を使用します。JavaScript によって変更されたフォームで Valdidation を使用すると、信頼性が低くなります。

次の手順のように機能するはずです。

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

最初の問題:

  • 「値 -1」を選択すると Livevalidation が機能しない
  • 「値-2」を選択すると、Livevalidationが機能します
  • 「値-1」を選択すると(-2の後)Livevalidationが機能します

2番目の問題:

  • 「値1」を選択すると、フォームを「送信」できます
  • しかし....
  • 「値 -1」または「値 -2」を選択し、Livevalidation がアクティブな場合
  • 次に、「値1」を選択します(Livevalidationは不要です)フォームを「送信」できません

    <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
        // ...
    }
    

4

1 に答える 1

0

今、私は「2番目の問題:....フォームを「送信」できません」の解決策を見つけました

さらに、引数disable(function)および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
    // ...
}

しかし、「最初の問題」はまだ存在しています。

  • 「値 -1」を選択すると Livevalidation が機能しない
  • 「値-2」を選択すると、Livevalidationが機能します
  • 「値-1」を選択すると(-2の後)Livevalidationも機能します

また、無効化/有効化機能も追加されました。

  • 「値 -1」を選択すると、入力フィールドが有効になります
  • 次に、「値1」を選択します入力フィールドが無効になります
  • 「値-1」をもう一度選択すると、入力フィールドはまだ無効になっています!!
  • 「値-2」を選択した場合のみ
  • 次に、「値-1」をもう一度選択します 入力フィールドは機能します
于 2013-07-29T21:55:57.000 に答える