2017-07-12 24 views
-1

org.codehaus.groovy.grails.validation.CreditCardConstraintgrails-2.4.5提供約束類時使用的CreditCardValidator過時的版本,以最好的辦法。什麼是從<code>org.apache.commons.validator</code>包修改由Grails框架

我希望修改它以使用來自org.apache.commons.validator.routines包的未棄用版本CreditCardValidator

我目前無法升級我的grails版本。

完成此操作的最佳方法是什麼?

+0

請參閱下面的答案 – Dasma

回答

0

我想下面的代碼是你在找什麼?請記住定義customType。

import org.apache.commons.validator.routines.CreditCardValidator 

class MyDomainOrCommand { 

    String creditCard 
    ... 

    static constraints = { 

      creditCard nullable: false, validate: { value, object -> 
       CreditCardValidator v = new CreditCardValidator(CreditCardValidator.NONE); 
       v.addAllowedCardType(customType); 

       if(!v.isValid(value)) { 
        return 'creditCard.invalid' 
       } 
       return true 
      } 
    } 
    ... 
}