2013-02-10 46 views
4

我正在使用Saripaar驗證庫https://github.com/ragunathjawahar/android-saripaar來驗證其中一個表單。 該庫非常有用,因爲它避免了許多用於驗證表單的樣板代碼。 但是,該庫在小部件上使用了annontations。 下面是一個例子:Android:Saripaar驗證庫。需要從strings.xml設置錯誤消息

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

的順序的屬性是一個指定在其中驗證要 發生的順序。這是我的問題:消息屬性需要一個常量表達式。 我需要從字符串資源文件中設置它。以便以後可以將錯誤消息國際化。我已經在下面試過了:

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

但是它似乎不工作,因爲它需要編譯時間常量。

任何人都可以幫助我解決相同的問題,或引導我通過解決方法嗎?

回答

18

使用此語法:

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

它的lib文檔中(和的lib本身是一個很好的一個)。

+0

非常感謝。你指出後在文檔中找到它。再次感謝 – Viren 2013-02-25 18:35:21

+0

@Viren你能否給我指出這個lib文檔的鏈接?我找不到與他的庫github回購相關的任何文檔。 – 2016-07-20 18:40:26

+0

Github回購中的文檔不完整。 messageResId選項沒有文檔。 – FunkSoulBrother 2016-07-24 12:13:54