2017-11-17 40 views
-1

Spring M V Cのユニークな名前のカスタム制約の作成に誰も助けてもらえますか?だから手がかりは? 検証クラス:独自のユーザ名のための独自のカスタム制約の作成

package com.dineshonjava.validator; 
import javax.validation.ConstraintValidator; 
import javax.validation.ConstraintValidatorContext; 
import org.springframework.beans.factory.annotation.Autowired; 

public class AjayValidator implements ConstraintValidator<Ajay, String> { 
    @Autowired 
    private userrepository UserRepository; 
    @Override 
    public void initialize(Ajay constraintAnnotation) { 
    } 
    @Override 
    public boolean isValid(String phoneNo, ConstraintValidatorContext ctx, Object username) { 

     return UserRepository.findByName(username)==null;; 
    } 
} 

私の注釈コード:

package com.dineshonjava.validator; 

import java.lang.annotation.Documented; 
import java.lang.annotation.Retention; 
import java.lang.annotation.Target; 
import java.lang.annotation.ElementType; 
import java.lang.annotation.RetentionPolicy; 
import javax.validation.Constraint; 
import javax.validation.Payload; 

@Documented 
@Constraint(validatedBy = {AjayValidator.class}) 
@Target({ ElementType.METHOD, ElementType.FIELD }) 
@Retention(RetentionPolicy.RUNTIME) 
public @interface Ajay { 
    String message() default "{Phone}"; 
    Class<?>[] groups() default {}; 
    Class<? extends Payload>[] payload() default {}; 
} 
+0

どのようなエラーが表示されますか?読みやすくするために、コードを適切に書式設定することも検討してください。私はそれを見て、私はすでにいくつかの構文エラーを見つけることができます。 – Synch

+0

私はユーザーリポジトリを使用できません。その投げつけエラー – Ajay

+0

'private userrepository UserRepository'はこれと逆向きではありませんか? –

答えて

0

リポジトリを@Autowiredできるようにするには、クラス自体は、Beanとして宣言する必要があります。これを達成するには、AjayValidator@Componentと注釈を付けてください。

関連する問題