2017-01-11 18 views
0

私はformValidation.ioを使用しており、クラスプロパティを使用できるようにバリデーター内にcallbackタイプバリデーターを動的に追加する必要があります。問題は、最初にいくつかのフォーム検証手続きを持つsuper呼び出しにバリデータオプションを渡すことです。しかし、これは私がクラスプロパティへの初期アクセスを持っていないことを意味します。フィールドに動的フォーム検証コールバックを追加する

これを行うにはupdateOptionを使用しようとしていましたが、確かにこれを検証することはできません。

答えて

0

ここに答えがあります。私は単にその機能を悪用した。

class MyForm extends Form { 

    var validatorOptions = { 
    fields: { 
     phoneNumber: { 
     validators: { 
      regexp: { 
      regexp: Regexp.phone, 
      message: "Please enter a valid phone number" 
      }, 
      callback: { 
      message: 'This number is in use', 
      callback: function() { 
       return true; 
      } 
      } 
     } 
     } 
    } 
    }; 

    super({ 
    validator: { 
     options: validatorOptions 
    } 
    }); 
    var self = this; 

    this._cachedPhoneNumbers = []; 

    function phoneValidatorCallback(value, validator, $field) { 
    if ($.inArray(value, self._cachedPhoneNumbers) > -1) 
     return false; 
    return true; 
    } 

    // ref to validator is definitely valid! 
    this.validator.updateOption('phone', 'callback', 'callback', phoneValidatorCallback); 

} 
関連する問題