6

我正在使用 Saripaar 验证库https://github.com/ragunathjawahar/android-saripaar来验证其中一种形式。该库非常有用,因为它避免了用于验证表单的大量样板代码。但是,该库在小部件上使用注释。下面是一个例子:

@Password(order = 1)
@TextRule(order = 2, minLength = 6, message = "Enter at least 6 characters.")
private EditText passwordEditText;

order 属性是指定验证发生顺序的属性。这是我的问题:消息属性采用常量表达式。我需要从字符串资源文件中设置它。这样错误消息可以在以后国际化。我已经在下面尝试过:

message = getResources().getString(R.string.err_msg)

但它似乎不起作用,因为它需要编译时间常数。

任何人都可以帮助我或指导我解决问题吗?

4

1 回答 1

18

使用此语法:

//private variable in the class declaration section
private EditText txtFirstName=null; 
@Required(order = 2,  messageResId  = R.string.err_required_field)

它在 lib 的文档中(并且 lib 本身就是一个优秀的文档)。

于 2013-02-24T19:03:39.760 回答