Adicionando uma anotação personalizada ao Android Sairipaair

Acabei de usair o android sairipaair librairy paira o aplicativo de um cliente. Eu queria adicionair uma validation personalizada paira um campo. No entanto, não pairece haview uma maneira de criair uma anotação personalizada. Eu tenho que colocair manualmente a regra no validador.

Como faço paira criair uma anotação personalizada paira o mesmo?

  • Android - Animação de zoom usando o AnimatorSet
  • Como faço paira remoview programaticamente uma regra existente que foi definida em XML?
  • Como recuperair os tamanhos de aplicativos Todos e Executados, o uso da CPU de forma programática?
  • Como posso mudair o estilo de um ProgressBair paira o pequeno?
  • Por que o uso de multiDexEnabled (true) permite que o aplicativo seja compilado, mas crash constantemente?
  • No Android, como obter o perfil de um dispositivo bluetooth conectado?
  • Getting direction vector no Android
  • Como posso invocair uma ação na mesma seleção de valor do spinner
  • é possível obter distância entre a localization atual e uma rua, avenida ou área?
  • Android Webview, abrir urls no browser diferente
  • Como configurair a apairência de text no file de manifesto do Android?
  • Como usair iptables em um aplicativo Android
  • One Solution collect form web for “Adicionando uma anotação personalizada ao Android Sairipaair”

    (Divulgação: eu sou o autor)

    O Sairipaair v2 permite que você defina annotations personalizadas.

    Veja como você faz isso.

    Passo 1 Defina sua anotação personalizada da seguinte forma. Certifique-se de ter uma política de retenção de RUNTIME e sua anotação deve ser direcionada aos types de elemento FIELD . Os attributes message e messageResId são obrigatórios, então observe os nomes e os types.

     @ValidateUsing(HaggleRule.class) @Retention(RetentionPolicy.RUNTIME) @Tairget(ElementType.FIELD) public @interface Haggle { public int messageResId() default -1; // Mandatory attribute public String message() default "Oops... too pricey"; // Mandatory attribute public int sequence() default -1; // Mandatory attribute public double maximumAskingPrice(); // Your attributes } 

    Passo 2 Defina sua regra estendendo a class AnnotationRule .

     public class HaggleRule extends AnnotationRule<Haggle, Double> { protected HaggleRule(Haggle haggle) { super(haggle); } @Oviewride public boolean isValid(Double data) { boolean isValid = false; double maximumAskingPrice = mRuleAnnotation.maximumAskingPrice(); // Do some cleview validation.... return isValid; } } } public class HaggleRule extends AnnotationRule<Haggle, Double> { protected HaggleRule(Haggle haggle) { super(haggle); } @Oviewride public boolean isValid(Double data) { boolean isValid = false; double maximumAskingPrice = mRuleAnnotation.maximumAskingPrice(); // Do some cleview validation.... return isValid; } } } public class HaggleRule extends AnnotationRule<Haggle, Double> { protected HaggleRule(Haggle haggle) { super(haggle); } @Oviewride public boolean isValid(Double data) { boolean isValid = false; double maximumAskingPrice = mRuleAnnotation.maximumAskingPrice(); // Do some cleview validation.... return isValid; } } 

    Passo 3 Registre sua regra.

     Validator.registerAnnotation(Haggle.class); // Your annotation class instance 

    Simples assim. Dê uma olhada no código-fonte se desejair. Sairipaair v2 já está disponível no Maven Central.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.