2014-07-19 36 views

回答

0

在/ custom/modules // clients/base/views/record /中創建一個文件'record.js'。在該文件中,您可以添加自定義驗證。

一些代碼,你可以使用方法是:

({ 
    extendsFrom: 'YourModuleRecordView', 
    initialize: function (options) { 

     app.error.errorName2Keys['date_error'] = 'The Delivery date is before the shipdate.'; 

     this._super('initialize', [options]); 
     this.model.addValidationTask('check_date', _.bind(this._doValidateDate, this)); 
    }, 
    _doValidateDate: function(fields, errors, callback) { 
     if (strtotime(this.model.get('shipdate')) > strtotime(this.model.get('deliverydate'))) { 
      errors['deliverydate'] = errors['deliverydate'] || {}; 
      errors['deliverydate'].date_error = true; 
     } 

     callback(null, fields, errors); 
    } 
}); 

不要忘記更改字段的名稱,如您將它們命名爲! 此結果僅適用於編輯模式。該驗證,添加到創建模式,添加文件「create_actions.js」到/自定義/模塊//客戶/基/視圖/ create_actions/

在你的「create_actions.js」輸入folling代碼:

({ 
    extendsFrom: 'CreateActionsView', 
    initialize: function (options) { 

     app.error.errorName2Keys['date_error'] = 'The Delivery date is before the shipdate.'; 

     this._super('initialize', [options]); 
     this.model.addValidationTask('check_date', _.bind(this._doValidateDate, this)); 
    }, 
    _doValidateDate: function(fields, errors, callback) { 
     if (strtotime(this.model.get('shipdate')) > strtotime(this.model.get('deliverydate'))) { 
      errors['deliverydate'] = errors['deliverydate'] || {}; 
      errors['deliverydate'].date_error = true; 
     } 

     callback(null, fields, errors); 
    } 
}); 

當您使用正確的代碼添加此文件時,執行修復/重建。 您可以根據自己的需要自定義此代碼。