2016-03-24 6 views
0

私はこれを釘付けにしていると思った。リターンのaurelia .passes(function( ''、 ''、 ''、 ''))

Unhandled promise rejection Error: Unexpected behavior: a validation-rules-collection should always fulfil

     .ensure('baseContent.ValidFromDate', (config) => { config.computedFrom(['baseContent.ValidFromDate', 'baseContent.ValidFromTime', 'baseContent.ValidToDate', 'baseContent.ValidToTime']) }) 
        .if(() => { 
         return this.baseContent.ValidFromDate !== null && this.baseContent.ValidFromTime !== null && this.baseContent.ValidToDate !== null && this.baseContent.ValidToTime !== null}) 
         .passes(() => { return this.datetimeformat.format(this.baseContent.ValidFromDate, this.baseContent.ValidFromTime) < this.datetimeformat.format(this.baseContent.ValidToDate, this.baseContent.ValidToTime) }) 
        .endIf().isNotEmpty() 

初めてBOOL:私は次のエラーを受け取ります。しかし、もしfalseなら、これをフラグしません。その後、上記のエラーが表示されます。

また、私はカスタムエラーを追加できると思っていましたか?それはすべての箱に表示されるだろうか?私は

のような何かをする必要があり

またはSO調査のロットが、私は問題が私のフォーマットクラスから注目された後([..、.. .. ..]

答えて

0

を確保(ユーザーがカレンダーから選択した後に)日付/時刻(moment.jsを使用して)を正しく作成していなかったため、比較できない「無効な日付」が返されました: - |

これは動作します:

this.validator = this.validation.on(this) 
        .ensure('baseContent.ValidFromDate', (config) => { config.computedFrom(['baseContent.ValidFromDate', 'baseContent.ValidFromTime', 'baseContent.ValidToDate', 'baseContent.ValidToTime']) }) 
         .if(() => { 
          return this.baseContent.ValidFromDate !== null && this.baseContent.ValidFromTime !== null && this.baseContent.ValidToDate !== null && this.baseContent.ValidToTime !== null }) 
          .passes(() => { return this.datetimeformat.format(this.baseContent.ValidFromDate, this.baseContent.ValidFromTime) < this.datetimeformat.format(this.baseContent.ValidToDate, this.baseContent.ValidToTime) }) 
          .withMessage('< Valid To') 
         .endIf()