0

グレイル 2.1.1

カスタムバリデーターを使用できるように、コマンドオブジェクトをサービスに挿入できないようです。Grailsコマンドオブジェクトのデータバインディングや、カスタムバリデーターの2.1.1ドキュメントが示唆するものなど、いくつか試しましたが、 これを理解することはできません..

関連コード:

class RegistrationCommand {

    String username

    def registrationService
    static constraints = {

        username validator: { val, obj ->
            obj.registrationService.isUsernameUnique(val) }
    }
}

class RegistrationService {

    def isUsernameUnique(username){
        def user = new User(username:username)
        user.validate()
        if(user.errors.hasFieldErrors("username")){
            return false
        }else{
            return true
        }
    }
4

1 に答える 1

2

解決済み..問題はプラグインが原因でした。 クライアント側の jquery 検証用のプラグイン (jquery-validation-ui-1.4.2) を使用しています。プラグインのコントローラーによって作成されたコマンド オブジェクトが、サービスに挿入されていませんでした。この問題はhttps://github.com/limcheekin/jquery-validation-ui/issues/17で報告されました。修正は機能しますが、まだ上流にプッシュされていません。

于 2013-03-14T22:04:49.003 に答える