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