2017-11-18 3 views
0

sweetalert2 v7.0.0を使用していますが、金額フィールドが空の場合はエラーを表示しようとしています。sweetalert2でValidationErrorを表示する方法

最初の試行で額を入力すると問題なく動作します。

最初の試行でフィールドを空のままにすると、検証エラーが発生します。その後、金額を書いて送信ボタンをクリックすると、検証エラーは消えません。それは詰まって2回目の検証をしません。ここにはjsfiddle linkがあります。あなたが私に道を示すことができれば嬉しいです。どこが間違っているの?

<a href="#" class="refundbutton"><i class="fa fa-undo"></i> Refund</a> 

$(".refundbutton").click(function(){ 
    swal({ 
     title: 'Enter Refund Details', 
     html:'<label for="ipt" class=" control-label"><span class="oval">1</span> Select refund type</label><select class="form-control refund_type"><option value="4"> Credit Card </option> <option value="5"> Cash </option></select>' + 
     '<label for="ipt" class=" control-label"><span class="oval">2</span> Enter refund amount</label><input type="text" class="form-control nDiscount_fixed" autocomplete="off" style="height: 34px;" value="">', 
     showCancelButton: true, 
     confirmButtonText: 'Submit', 
      preConfirm: function (value) { 
     return new Promise(function (resolve, reject) { 

      if ($(".nDiscount_fixed").val() === "") { 
       swal.showValidationError(
       'please enter a refund amount.' 
      ) 
      } 
      resolve([ $('.refund_type').val(), $('.nDiscount_fixed').val() ]) 

     }) 
     } 
    }).then(function (result) { 
    var swalrebateamount = parseFloat($('.nDiscount_fixed').val()).toFixed(2); 

    if (swalrebateamount !="" && swalrebateamount !="0") { 
    //some code 
    } 
    }).catch(swal.noop) 
    }); 

答えて

3

検証エラーをリセットする必要があります。 more details

if ($(".nDiscount_fixed").val() === "") { 
       swal.showValidationError(
       'please enter a refund amount.' 
      ) 
    } 
    else 
    { 
      swal.resetValidationError(); 
    } 
+1

私はその方法を逃してしまった。どうもありがとうございました。あなたには感謝してもしきれません。 – hijacker83

+0

ありがとう、あなたは私の日を救った – ManojMeria

関連する問題